Ajax是什么
Ajax是Asynchronous JavaScript XML的缩写,被译为异步JavaScript和XML。Ajax本身并不是
一个新技术,而是一个在2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技
水集合的“新”方法。
当使用Ajax模型,HTML页面能够快速地将数据逐步更新显示在用户界面上,不需要重载(刷新)
整个页面。这使得HTMIL页面能成更快速地对用户的操作进行反馈。
尽管Ajax中的“X”代表XML,但由于JSON的许多优势,目前JSON的使用比XML_更加普遍。
JSON和XML_都被用于在Ajax模型中封装数据。
Ajax涉及的技术
Ajax只是为实现异步交互的手段,不是一种技术,而是多种技术的整合。其中包括以下几种技术:
- HTML页面
- Cascading Style Sheets ( CSS)
- JavaScript脚本语言
- Document Object Model (DOM)
- XML
- XMlLH1ttpRequest对象
上迹技术中,XMLHttpRequest对象是实现Ajax异步交互的核心。
Ajax的工作原理
Ajax的核心对象
实现Ajax异步交互的核心就是XMLHttpRequest对象,该对象为客户端提供了在客户端和服务器之
间传输数据的功能。
XMlLHHtpRequest对象提供了一个通过URL来获取数据的简单方式,并且不会使整个页面刷新。这
使得网页只更新一部分页面而不会打扰到用户。
XMlHltpRequest对象最初由微软设计,随后被Mozilla、Apple和Google采纳。如今,该对象已经
被W3C组织标准化。通过该对象,可以很容易地得到一个URL上的资源数据。尽管名字里有XML,
但XMl.HttpRequest对象可以得到所有类型的数据资原,并不局限于XML格式的数据。
实现Ajax的执行步骤
实现Ajax异步交互需要服务器端逻辑进行配合,而作为客户端的HTML页面需要完成以下步骤:
- 创建Ajax的核心对象XMlHttpRequest对象
- 通过XMlLHttpRequest对象的open()方法与服务器端建立连接
- 构建请求所需的数据内容,并通过XMLHttpRequest对象的send()方法发送给服务器端
- 通过XMLHttpRequest对象提供的onreadystatechange事件监听服务器端的通信状态
- 接收并处理服务器端向客户端响应的数据结果
- 将处理结果更新到HTML页面中
创建Ajax的核心对象
虽然XMLHttpRequest对象目前由W3C组织进行标准化,但在不同浏览器中,创建的方式略有不同。
通过Ajax异步请求数据
GET请求方式
Ajax异步交互中使用GE丁请求方式的话,需要注意以下几个问题:
1.将构建的请求数据添加到open()方法中的url地址中,如下示例代码所示:
httpRequest.open('GET','http://www.wolongxueyuan.org/some.file?name=wolongxueyuan&password=123456', true);
上述示例代码中,“name=wolongxueyuan&password=123456”表示请求数据
2.将发送请求数据的send()方法中参数设置为null值,如下示例代码所示:
httpRequest.send(null);
POST请求方式
Ajax异步交互中使用POST请求方式的话,需要注意以下几个问题:
1.调用send(方法之前,需要通过XMLHttpRequest对象的setRequestHeade()方法设置请求头
信息。
httpRequest.setRequestHeader(header, value);
- header:将要被赋值的请求头名称。
- value:给指定的请求头赋的值。
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded");
2.通过XMILHttpRequest对象的send()发送请求数据。