jquery - IE9 中的 Ajax 调用随机失败

标签 jquery ajax post internet-explorer-9

我编写了一个互联网应用程序,它将用户的每个操作与服务器同步。因此我有很多 Ajax 请求(尽管不是同时进行)。

该应用程序在 Firefox 和 Chrome 中运行良好,但 IE9 让我头疼。我在 IE9 中遇到这些 post 请求完全随机失败。因此,该问题无法通过明确的操作来重现,但它却经常发生。例如,如果我连续十次执行完全相同的操作,则它可能每次都成功,也可能在其中一个请求期间失败。我已经使用 IE Developer 工具对网络进行了分析,结果如下:http://screencast.com/t/VLcK5OKWQl

如您所见,发布请求仍处于待处理状态。在该调用的详细描述中,所有信息都是空白,甚至没有请求 header 。

我对这个问题完全迷失了。如果有人知道这可能是什么,请与我分享,我会尝试任何事情!

顺便说一下,我正在使用 jQuery (v1.7.1) $.post 调用(如果这有什么区别的话)。我还在响应文件中包含了以下 header :

header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' );
header('Content-type: application/json; charset=utf-8');

最佳答案

我遇到了完全相同的问题,并且能够通过不在请求中发送 null 作为数据来解决它(只是发送一个整数等)。

我还尝试多次运行相同的请求来调试出了什么问题,在将参数更改为“not null”之前,我得到了随机响应(成功、空值或错误(状态代码 12031)。 更改“not null argument”后,我已经能够运行相同的请求 1000 多次,而不会出现任何失败。

也就是说,我无法在其他地方重现这个......所以,它仍然没有任何意义:P

关于jquery - IE9 中的 Ajax 调用随机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586258/

相关文章:

javascript - jQuery动画从左到右有间隙

jQuery:加载脚本,但作为 <pre><code> block ?

javascript - 如何在循环内将变量传递给 ajax.done() ?

python - Python (Flask) 中的 Get 和 Post 方法

java程序在浏览器中打开网页并将一些数据发布到打开的页面中

node.js - NodeJs POST 请求 ER_DATA_TOO_LONG

php - CSS jquery 在 slider 中添加了 4 个链接

javascript - 使用 setTimeout 重新加载图像

jquery - 如何获取小于数字的tr id

javascript - 如何查找javascript Ajax调用完成