1. 定义:异步 javascript 和 xml;无刷新的数据读取
2. Ajax请求服务器的四个步骤:
1) 创建一个ajax对象:new XMLHttpRequest();
2) 连接信号
3) 发送请求,告诉服务器要什么
4) 接受返回值
3. XMLHttpRequest对象
1) 创建对象:
2) 作用:用于后台与服务器对交换数据
functionloadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=newXMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
4. 向服务器发送请求
1) Open(method,url,async):method:请求的类型,比如get/post
url:文件在服务器上的位置
async:值为true(异步)/false(同步)
默认值为true,可以不填写
2) Send(string):将请求发送到服务器;
String:仅用于POST请求
3) Get和post的区别:
a) Get更加简单,更加快速,在大部分的情况下都是可以使用的
一般用于信息获取,使用url传递参数,发送信息数量有限
b) Post:一般用于修改服务器上的资源,对发送的信息数量没有限制
无法使用缓存文件/可以像服务器发送大量的数据/发送包含未知字符的用户输入的时候,post比get更加稳定
5. 服务器响应:
1) ResponseText:获得字符串形式的响应数据
2) ResponseXML:获得XML形式的响应数据
6. XMLHttpRequest属性
1) Onreadystatechange事件:存储函数(或函数名),每当readystate属性发生变得时候,就会调用该函数
2) ReadyState:存有XMLHttpRequest的状态,从0-4发生变化
a) 0:请求没有初始化
b) 1:服务器连接已经建立
c) 2:请求已接受
d) 3:请求处理中
e) 4:请求已经完成,且响应就绪
3) xmlhttp.readyState==4 && xmlhttp.status==200
表示响应已经就绪
4) Status:以数字和文本形式返回http状态码
比如 200:“ok”。 404:未找到页面
5) getAllResponseHeader():获取所有的响应报头
6) getResponseHeader():查询响应中的某个字段的值