ajax异步请求详解
ajax定义:异步的JavaScript和xml
1、创建对象,XMLHttpRrquest的出现才有了异步处理。
XMLHttpRrquest是AJAX的基础
所有的现代浏览器均支持XMLHttpRrquest对象(IE5和IE6使用ActiveObject)
XMLHttpRrquest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2.XMLHttpRrquest对象向服务器发出请求
如需将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法。
XMLhttp.open('get','test1.txt',true);
XMLhttp.send();
方法
open(method,url,async) 规定请求的类型,url以及是否异步处理请求
Method:请求的类型:get或post
URL :文件在服务器上的位置:
Async :true(异步 )或false(同步)
Send(string) 将请求发送到服务器
3.浏览器与服务器建立连接
4.服务器响应
readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕
常用状态码及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
*/
xhr.onreadystatechange = function(){
alert(xhr.readyState);
//alert(xhr.status);
if(xhr.readyState==4){
if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;
alert(data);
}
}
}