在this discusison中,我们可以看到处理 XMLHttpRequest 并防止错误的 readyState 和状态组合的语法,如下所示
if (request.readyState == 4 && request.status == 200) { ... }
我一直在使用联合条件信任,两个案例都是独立的,允许在联系服务器时所有四种操作成功组合。
昨天,我在思考,但是我无法解释它们可能是什么。它们是什么?
特别是,我不知道未完成的事情是好还是不好(案例3和4)。如果还没有完成(或者总是状态不正常),它是不是总是状态确定?!
答案 0 :(得分:1)
我不知道未完成的事情是好还是不好(案例3和4)。
这不是你要测试的。
测试是:准备好了吗?没有?这种情况失败了。
你没有:
if (request.readyState != 4 && request.status == 200) { ... }
或
if (request.readyState != 4 && request.status != 200) { ... }
您只关心请求完成时的状态且是否正常。
您的语法是:
的简写if (request.readyState == 4) {
if (request.status == 200) { ... }
}