AJAX返回异常状态代码

时间:2011-09-28 23:33:40

标签: javascript ajax http-status-codes

所以我终于再次尝试了AJAX(而不是隐藏的iframe),我现在还记得为什么我一开始就非常讨厌AJAX。

这是一个简单的脚本,可以向服务器查询用户收到的私人消息的数量。服务器以单个数字响应,脚本更新指示器并设置超时五秒钟以便再次查询。

在极少数情况下(通常当我去AFK一段时间),我开始获得最奇怪的HTTP状态代码。

在Chrome上:“AJAX请求无法检索/ajax/network.php,HTTP状态0”
在IE上:“AJAX请求无法检索/ajax/network.php,HTTP状态12029”

这些代码都不是有效的。这里发生了什么,我怎么能阻止它发生?

1 个答案:

答案 0 :(得分:6)

这是AJAX的烦人方面。我发现最好将所有非200状态视为错误。实际上,您不会向用户显示与实际结果相关的任何特定错误消息(“已发生问题”),因此我不会过分担心错误条件不一致。

jQuery规范化了一些AJAX行为,因此您可能还想研究使用它。

顺便说一句,Chrome中的错误0和IE中的12029表示连接问题;因为这与HTTP无关,这就是显示无效代码的原因。