我喜欢在没有 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 是在就绪状态为 4 且状态为 200 时运行的事件监听吗?如果不是,那是什么,我什么时候用它代替上述方法。
最佳答案
XHR level 2 with cross origin 实现了除了onreadystatechange之外的其他事件,都是progress事件(指定statechange);加载开始、进度、错误、中止、加载、加载结束
您可以使用 onload 事件作为预先检查的就绪状态 4,然后继续检查 XHR 状态(200 -> 300 || 304 我想)
关于javascript - XMLHttpRequest 加载属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7870704/