标签:
Ajax - Asynchronous JavaScript and XML
示例:
// 发起 AJAX 请求
function getCardByAjax() {
var httpRequest = new XMLHttpRequest();
httpRequest.oonreadystatechange = handleResponse;
httpRequest.open("GET", "http://www.xxx.com/Card.html");
httpRequest.send();
}
// 处理 AJAX 的响应
function handleResponse(e) {
if(e.target.readystate == XMLHttpRequest.DONE && e.target.status == 200){
var text = e.target.responseText;
// ... process
}
}
XMLHttpRequest readyState 属性的值
UNSENT | 0 | 已创建 XMLHttpRequest 对象 |
OPEND | 1 | 已调用 open 方法 |
HEADERS_RECEIVED | 2 | 已收到服务器响应的标头 |
LOADING | 3 | 已收到服务器响应 |
DONE | 4 | 响应完成或者失败 |
DONE 并不代表请求成功,它只表示请求已完成。需要通过 status 属性获取 HTTP 的响应状态码进一步判断。
AJAX 事件
abort | 在请求被中止时触发 | ProgressEvent |
error | 在请求失败时触发 | ProgressEvent |
load | 在请求成功完成时触发 | ProgressEvent |
loadend | 在请求已完成时触发,无论成功还是发生错误 | ProgressEvent |
loadstart | 在请求开始时触发 | ProgressEvent |
progress | 多次触发,以提示请求的进度 | ProgressEvent |
readstatechange | 多次触发,在请求生命周期的不同阶段触发 | Event |
timeout | 如果请求超时则触发 | ProgressEvent |
以上事件并不是所有浏览器都支持,除了 readstatechange 之外,其他事件都是 XMLHttpRequest 规范的第二版本定义的。
标签:
原文地址:http://www.cnblogs.com/bylion/p/5066255.html