我喜欢在没有 jquery 的情况下编写尽可能多的代码,因此对于 ajax 请求,我一直在按照 MDN 所说的进行操作:
function alertContents(httpRequest) {
try {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
alert(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
catch( e ) {
alert('Caught Exception: ' + e.description);
}
}
我正在查看有关制作扩展的 Google 教程,他们使用了请求的加载。 onload是readystate为4,status为200时运行的事件监听吗?如果不是,它是什么,我什么时候使用它来代替上述方法。
最佳答案
具有跨源的 XHR 级别 2 实现了除 onreadystatechange 之外的其他事件,这些事件是进度事件(指定 statechange);加载开始、进度、错误、中止、加载、加载结束
您可以将 onload 事件用作预先检查的就绪状态 4,然后继续检查 XHR 状态(我想是 200 -> 300 || 304)
关于javascript - XMLHttpRequest onload 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870704/