XHR发送请求
- open(method,url,async) //async默认为true(异步),也可为false(同步)
- send(string)
request.open("GET","get.php",true);
request.send();
request.open("POST","creat.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=李&sex=男");
XHR取得响应
获取响应值
- responseText: 获取字符串形式的响应数据
- responseXML: 获取XML形式的响应数据
- status和statusText:以数字和文本形式返回HTTP状态码
- getAllResponseHeader(): 获取服务器所有的响应报头
- getResponseHeader(): 查询响应中的某个字段的值
服务器响应是否正确
需要监听readState属性,当属性为:
- 0:表示服务器请求未初始化,open还没有调用
- 1:服务器连接已经建立,open已经调用
- 2:请求已经接收,服务器已经接收到头信息了
- 3:请求处理中,服务器接收到响应主体了
- 4:请求已经完成,且响应已经就绪,即响应完成了
监听readState属性的变化
var request=new XMLHttpRequest();
request.open("GET","get.php",true);
request.send();
request.onreadystatechange = function () {
if(request.readyState == 4&&request.status == 200){
//做一些其他的事情
}
}
onreadystatechange 事件会在每一次readState的属性发生变化时触发,对readyState是否等于4和status 是否等于200进行判断(即响应完成并且请求成功)