AJAX总结
学知识久了之后需要去总结一下。
对于AJAX这个词,大家不会陌生,因为网络异步加载常常会用到这个技术。
首先看一下w3c文档,里面是这样对ajax介绍的:
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下
看了介绍,我先就想如何快速的去开发,然后看到XHR创建对象(XHR指的是XMLHttpRequest)。XMLHttpRequest是AJAX的基础。所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。var request = new XMLHttpRequest();但是对于之前老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象
var request = new ActiveXObject(“Microsoft.XMLHTTP”);
于是就有了下面一种通用的写法:
function getRequest(){
var request;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}
else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
return request;
}
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
- open(method,url,async):
规定请求的类型、URL 以及是否异步处理请求。
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步) send(string):
将请求发送到服务器。
string:仅用于 POST 请求在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
下面就是服务器的响应:
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。如果来自服务器的响应并非 XML,请使用 responseText 属性。如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性。
onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
下面是 XMLHttpRequest 对象的三个重要的属性:
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status 200: “OK”
404: 未找到页面
现在说一下具体步骤是哪一些:
1获取ajax对象:获取XMLHttpRequest对象实例.
2设置回调函数:为Ajax对象onreadystatechange事件设置回调函数.
3创建请求:使用XMLHttpRequest对象的open方法.
4发送请求:使用XMLHttpRequest对象的send方法.
对AJAX的总结到此了。多实践那就会了。
还没有评论,来说两句吧...