寻找readyState === 4
andstatus === 200
太常见了,我相信有一个为它开发的捷径,但我不记得了。
这是一种语言缩写,即你不需要图书馆。
if (this.readyState === 4) {
if (this.status === 200) {
config_ajax.callback(xhr.responseText);
}
}
检查这种“情况”的“捷径”是什么?
寻找readyState === 4
andstatus === 200
太常见了,我相信有一个为它开发的捷径,但我不记得了。
这是一种语言缩写,即你不需要图书馆。
if (this.readyState === 4) {
if (this.status === 200) {
config_ajax.callback(xhr.responseText);
}
}
检查这种“情况”的“捷径”是什么?
图书馆外有一条捷径。使用一个 if 语句。
if (this.readyState === 4 && this.status === 200) {
config_ajax.callback(xhr.responseText);
}
注意:你不能切换 if 语句的顺序,因为在 readyState 至少达到 2 之前你不能得到请求的状态。所以如果你把状态检查放在第一位,你的浏览器会在第一个抛出错误就绪状态,为 0。
来源:MDN
使用onload
事件侦听器时(而不是onreadystatechange
,您可以简单地执行以下操作:
if (this.status === 200) {
config_ajax.callback(xhr.responseText);
}
因为 onload 仅在readyState === 4
.