Javascript 状态代码为0的AJAX响应

Javascript 状态代码为0的AJAX响应,javascript,ajax,jquery,http-status-codes,Javascript,Ajax,Jquery,Http Status Codes,在我们的web应用程序中,注册过程是通过AJAX调用处理的。我们使用jQuery(1.7.1)库和内置的“ajax”方法 对于某些人来说,AJAX调用没有正确返回,生成的状态代码为0。调用肯定会到达Web服务器,并在我们这端得到正确的处理(我们可以在DB中看到结果),但出于某种原因,客户端浏览器看到错误并触发ajax请求的“错误”回调函数 错误响应处理程序是: error: function (jqXHR, textStatus, errorThrown) {... 回调参数的值为: text

在我们的web应用程序中,注册过程是通过AJAX调用处理的。我们使用jQuery(1.7.1)库和内置的“ajax”方法

对于某些人来说,AJAX调用没有正确返回,生成的状态代码为0。调用肯定会到达Web服务器,并在我们这端得到正确的处理(我们可以在DB中看到结果),但出于某种原因,客户端浏览器看到错误并触发ajax请求的“错误”回调函数

错误响应处理程序是:

error: function (jqXHR, textStatus, errorThrown) {...
回调参数的值为:

textStatus = 'error'
jqXHR.status = 0
jqXHR.statusText = 'error'
jqXHR.responseText = ''
errorThrown = ''
通过阅读类似的SO问题和网络上的各种论坛/博客,我认为这与防火墙有关。我已经能够确认一个案例是在公司防火墙后发生的

Web服务器是运行Ubuntu的LAMP机器。web应用程序是用PHP编写的,并使用CodeIgniter框架。该网站是


具体原因是什么?如何修复?

我想说,如果您没有执行某种验证、失败和回显单词error的PHP脚本,那么执行exit(0)是值得检查的。我可以确认这不会发生。所有的验证都发生在DB插入之前,而DB插入正在进行。此外,任何验证错误都只会返回一个状态属性设置为0的json对象,客户端代码无论如何都应该捕获该对象。好的,检查并确保总是好的。