readyState 是 AJAX 的状态
- (未初始化) 还没有调用 send () 方法
- (载入) 已调用 send () 方法,正在发送请求
- (载入完成) send () 方法执行完成,
- (交互) 正在解析响应内容
- (完成) 响应内容解析完成,可以在客户端调用了
request.onreadystatechange = function () { // 状态发生变化时,函数被回调
if (request.readyState === 4) { // 成功完成
// 判断响应结果:
if (request.status === 200) {
// 成功,通过responseText拿到响应的文本:
return success(request.responseText);
} else {
// 失败,根据响应码判断失败原因:
return fail(request.status);
}
} else {
// HTTP请求还在继续...
}
}