Ajax
创建XMLHttpRequest对象
1
2
3
4
5
6
7
8
|
let xttp;
if(window.XMLHttpRequest) {
xttp = new XMLHttpRequest();
} else {
//code for IE 5 & 6
xttp = new ActiveXObject("Microsoft.XMLHTTP");
}
|
XMLHttpRequest对象方法
方法 |
描述 |
new XMLHttpRequest() |
创建新的 XMLHttpRequest 对象 |
abort() |
取消当前请求 |
getAllResponseHeaders() |
返回头部信息 |
getResponseHeader() |
返回特定的头部信息 |
open(method, url, async, user, psw) |
规定请求method:请求类型 GET 或 POSTurl:文件位置async:true(异步)或 false(同步)user:可选的用户名称psw:可选的密码 |
send() |
将请求发送到服务器,用于 GET 请求 |
send(string) |
将请求发送到服务器,用于 POST 请求 |
XMLHttpRequest 对象属性
属性 |
描述 |
onreadystatechange |
定义当 readyState 属性发生变化时被调用的函数 |
readyState |
保存 XMLHttpRequest 的状态。0:请求未初始化1:服务器连接已建立2:请求已收到3:正在处理请求4:请求已完成且响应已就绪 |
responseText |
以字符串返回响应数据 |
responseXML |
以 XML 数据返回响应数据 |
status |
返回请求的状态号200: “OK"403: “Forbidden"404: “Not Found"如需完整列表请访问 Http 消息参考手册 |
statusText |
返回状态文本(比如 “OK” 或 “Not Found”) |
当readyState为4,status为200时,响应就绪
使用回调函数
以此封装请求操作
1
2
3
4
5
6
7
8
9
10
11
|
function loadDoc(url, cFunction) {
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
cFunction(this);
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
|