定义
ajax(async javascript and xml)是前后端交互的一种手段,是通过js向服务器发送请求,所有服务器端返回的响应都不会直接显示在页面,而是返回给js这个语言
ajax是依赖于浏览器发送请求的
使用方式
1.找到一个可以帮忙发送ajax请求的对象
=>XMLHttpRequest() 内置构造函数
=>专门创建实例化对象发送ajax请求
2.对本次请求进行配置 =>open()的方法 =>xhr.open(请求方式,请求地址,是否异步)
3.发送请求
=>xhr.send();
4.接收响应
=>onload事件 语法:xhr.onload=function(){}(本次请求结束后触发)
ajax异步
1.创建ajax对象
2.配置请求信息
3.把请求发出去
4.绑定事件,请求完成的事件
5.响应回到客户端,触发事件
ajax同步
1.创建ajax对象
2.配置请求信息
3.把请求发出去(同步),等到响应回来后再继续执行代码
4.响应回到客户端,不会触发事件,因为事件还没有绑定
5.绑定事件,事件不会触发
ajax兼容
Ajax不主动向下兼容
创建ajax对象的兼容
1.new XMLHTTPRequest() //标准浏览器使用
2.new ActiveXObject('Msxml.XMLHTTP') //IE7,8,9
3.new ActiveXObject('MSxml2.XMLHTTP') //IE6
4.new ActiveXObject('Microsoft.XMLHTTP')
5.再向下的IE不支持ajax
ajax状态码
语法:xhr.readstate
响应状态码:描述本次请求的状态
ajax状态码:描述ajax进行到了哪一步
0:创建ajax对象成功
1:配置请求信息完成
2:请求发送,响应报文回到了浏览器
3:浏览器正在解析响应报文
4:浏览器解析响应报文成功,可以正常使用xhr.responseText