在使用AJAX(我的dashcode开发的应用程序)时,出现了浏览器停止上传并返回状态码0
的情况。这是为什么呢?
另一种情况:
如果您在发送 AJAX 请求后触发了浏览器的刷新,在获得 AJAX 响应之前,您可能会收到状态码 0
。这是因为 AJAX 请求将被取消并返回此状态码。
根据我的经验,以下情况会显示状态码0:
状态码0表示所请求的URL无法访问。将http://something/something更改为https://something/something对我有用。当状态码为0时,IE会抛出一个错误,显示“权限被拒绝”,其他浏览器则不会。
在使用<button onclick="">submit</button>
时遇到了同样的问题。之后通过使用<input type="button" onclick="">
解决了这个问题。
jQuery.ajax()
XHR对象时遇到了问题。在AJAX调用中甚至没有创建请求,仍然出现f.open不是函数和状态码0的错误。原因是:我从$.ajaxSetup({xhr})
返回了$.ajaxSettings.xhr
对象,而返回new window.XMLHttpRequest();
则解决了这个问题。 - klimpond因为当你搜索ajax状态码0时,这个问题会出现,所以我想留下一些提示,因为这让我浪费了几个小时的时间……我正在使用ajax调用一个PHP服务,这个服务恰好是Phil的Codeigniter REST_Controller(不确定是否与此有关),我一直收到状态码0、读取状态码0,并且这让我疯狂。我在调试它并注意到当我回显和返回消息而不是退出时,我会得到一个成功的结果。最后,我关闭了调试模式并尝试了一下,它起作用了。似乎PHP中的xDebug调试器会修改响应。如果你正在使用PHP调试器,请尝试关闭它以查看是否有帮助。
这篇文章帮助了我。我通过AJAX提交表单时忘记使用return false
(在我的ajax请求之后),导致经典的表单提交,但奇怪的是它没有完成。
<form onsubmit="return false;">
解决了这个问题。 - Heitor
<form onsubmit="return false;">
即可。 - Heitore.preventDefault();
了。 - SparK