小编典典

HTTP请求返回状态码0是什么意思?

ajax

当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思?

这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。

我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。

相同的代码在某些位置和系统上可以正常工作,但是在某些环境中,它会失败,状态码为0,并且没有提供responseText。

这是到Internet URL的典型HTTP POST。它不涉及file://,据我所知可能会返回0,表示在Firefox中成功。


阅读 5291

收藏
2020-07-26

共1个答案

小编典典

我相信错误代码表明响应为空,(甚至没有返回标头)。这表示已接受连接,然后正常关闭(TCP
FIN)。造成这种情况的原因有很多,但是根据您的描述,某种形式的防火墙似乎是最有可能的罪魁祸首。

2020-07-26