主要作用:通过异步请求进行局部刷新
ajax post发送请求默认UTF-8
1.获取XMLHttpRequest对象(封装)
大多浏览器
var xhr = new XMLHttpRequest()
IE6.0以上
var xhr = new ActiveXObjext("Msxml2.XMLHTTP");
IE5.5之前
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
大多浏览器
var xhr = new XMLHttpRequest()
IE6.0以上
var xhr = new ActiveXObjext("Msxml2.XMLHTTP");
IE5.5之前
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
2.open()打开连接
参数一:Get\POST
参数二:URL地址
参数三:true异步发送\false同步发送
xhr.open("GET","/ajax/ServletA" ,true );
参数一:Get\POST
参数二:URL地址
参数三:true异步发送\false同步发送
xhr.open("GET","/ajax/ServletA" ,true );
3.post请求设置Context-Type请求头
xhr.setRequestHeader("Context-Type","application/x-www-form-urlencoded");
xhr.setRequestHeader("Context-Type","application/x-www-form-urlencoded");
4.send()发送
post请求可以附带参数"name=名称"
post请求可以附带参数"name=名称"
5.XMLHttpRequest的onreadystatechange事件上注册监听器
xhr.onreadystatechange = function(){
var state = xhr.readyState;//XMLHttpRequest状态
xhr.onreadystatechange = function(){
var state = xhr.readyState;//XMLHttpRequest状态
1) 0状态
初始化未完成状态。只是创建了XMLHttpRequest对象,还未调用open()方法。
2) 1状态
请求已开始。open()方法调用了,还没有调用send()方法。
3) 2状态
请求发送完整状态。send()方法也已经调用了。
4) 3状态
开始读取服务器响应,但服务器响应未结束。
5) 4状态
读取服务器响应结束。(合法状态)
初始化未完成状态。只是创建了XMLHttpRequest对象,还未调用open()方法。
2) 1状态
请求已开始。open()方法调用了,还没有调用send()方法。
3) 2状态
请求发送完整状态。send()方法也已经调用了。
4) 3状态
开始读取服务器响应,但服务器响应未结束。
5) 4状态
读取服务器响应结束。(合法状态)
var status = xhr.status;//服务器响应状态码200
var content = xhr.responseText;//服务器响应文本内容
var doc = xhr.responseXML;//服务器响应xml格式内容(Documment对象)
var json = xhr.responseText;//json对象
}
var content = xhr.responseText;//服务器响应文本内容
var doc = xhr.responseXML;//服务器响应xml格式内容(Documment对象)
var json = xhr.responseText;//json对象
}