在我们的Web应用程序中,注册过程通过AJAX调用处理。我们使用的是jQuery(1.7.1)库和内置的'ajax'方法。
对于某些人来说,AJAX调用没有正确返回,生成的状态代码为0.调用肯定是到达Web服务器并在我们的端部正确处理(我们可以在数据库中看到结果)但由于某种原因客户端浏览器看到错误并触发ajax请求的“错误”回调函数。
错误响应处理程序是:
error: function (jqXHR, textStatus, errorThrown) {...
并且回调参数的值为:
textStatus = 'error'
jqXHR.status = 0
jqXHR.statusText = 'error'
jqXHR.responseText = ''
errorThrown = ''
通过网络阅读类似的SO问题和各种论坛/博客,我认为这与防火墙有关。我已经能够确认一个案例是坐在公司防火墙后面。
网络服务器是运行Ubuntu的LAMP机器。 Web应用程序使用PHP编写并使用Code Igniter框架。该网站为http://thinkbinder.com。
具体原因是什么,我该如何解决?