0

寻找readyState === 4andstatus === 200太常见了,我相信有一个为它开发的捷径,但我不记得了。

这是一种语言缩写,即你不需要图书馆。

if (this.readyState === 4) {
    if (this.status === 200) {
        config_ajax.callback(xhr.responseText);
    }
}

检查这种“情况”的“捷径”是什么?

4

2 回答 2

3

图书馆外有一条捷径。使用一个 if 语句。

if (this.readyState === 4 && this.status === 200) {
  config_ajax.callback(xhr.responseText);
}

注意:你不能切换 if 语句的顺序,因为在 readyState 至少达到 2 之前你不能得到请求的状态。所以如果你把状态检查放在第一位,你的浏览器会在第一个抛出错误就绪状态,为 0。

来源:MDN

于 2013-07-25T00:14:33.577 回答
0

使用onload事件侦听器时(而不是onreadystatechange,您可以简单地执行以下操作:

if (this.status === 200) {
  config_ajax.callback(xhr.responseText);
}

因为 onload 仅在readyState === 4.

于 2013-08-19T12:58:00.607 回答