1. 什么是ajax
asynchronous :异步 synchronous同步
javascript :核心技术还是javascript
xml:主要保存和传输数据
直译:异步的javascript和xml
就是可与服务器进行异步或者同步交互一门技术.
同步交互:指一个时间段内只能有一个进程在执行.
异步交互:指一个时间段内可以有多个进程在执行
Ajax特点:无刷新(用户体验比较好)
使用ajax的好处:一个时间段内可以有多个进程在执行
2.创建ajax对象
主流浏览器(google,火狐,猎豹,360,高版本的IE(8以上)):
var xhr=new XMLHttpRequest();重点掌握
低版本的IE浏览(IE6,IE7,IE8):(了解下)
var xhr=ActiveXObject('Microsoft.XMLHTTP')
更低版本的IE浏览器创建ajax对象的方式:
//更低版本IE浏览器(IE5,IE4)
var xhr=ActiveXObject('Msxml2.XMLHTTP')
var xhr=ActiveXObject('Msxml3.XMLHTTP')
封装创建ajax对象的函数:
function Xhr(){
try{
return new XMLHttpRequest();
}catch(e){
}
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
alert("请更换浏览器");
}
var a =Xhr();
alert(a);
3.常用方法
open(menthod,url,saync)建立一个http链接
method:请求的方法,get/post
url:请求的url地址
async:是否异步请求,默认为true(异步),false(同步)
send(content):发送一个Http请求
Get与post方法比较:
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
content:发送请求的数据
如果是get请求content直接写null
如果是post请求要拼接字符串,形如name=xiaoming&age=20
setRequestHeader(header,value)设置请求头
header:请求头名称
value:请求头的值
abort:终止一个ajax请求
常用属性:
readyState:ajax请求的状态,有五个值0,1,2,3,4
0:初始化对象还没有调用open()方法
1: 已经调用了open()方法 .还没有调用send()方法
2:已经调用了send()方法
3.已经开始接受服务器返回来的数据,但是不完整.
4:完全接收服务器返回来的数据,请求完毕
onreadystatechange :
可以监听ajax状态的一个改变 只能监听1,2,3,4状态,因为状态0没有一个相对变化的过程.
status :http响应状态码
200:ok 404:not found 304 :not modified ,5XX(一般都是服务器相关的错误)
responseText :
接收服务器返回来的字符串数据.(html.css,js). php echo 'fasfd';
responseXML :
接收服务器返回来的xml数据. php: echo $xml;