带有IE9的jQuery$.ajaxPOST请求结果为空数组
jQuery $.ajax POST Request with IE 9 results empty array
我的编码有问题,所以在Firefox中它工作得很好,但在IE9中它只工作前~5秒。在那之后,我再也没有收到任何POST数据了。
我想通过AJAX加载一个PHP页面,使用表单输入的值作为POST变量。前5秒我可以在请求的页面上接收POST,但之后我只收到一个空字符串。
这是我的代码:
function reload_form(){
var data = $("#formularfelder").serialize()
$.ajax({
type: 'POST',
url: 'content/formular.php',
data: data,
success: function(msg) {
$("#form_container").html(msg);
}
});
}
这是IE9的一个错误吗?有没有可用的解决方法?
如果你能帮助我,那就太棒了!:)
******编辑***
我在这篇文章中找到了这个问题的原因:
为什么Internet Explorer在失败后不在Ajax调用上发送HTTP帖子正文?
IE遇到一个保持活动的timout,并且不再在POST数据中发送正文。
为了解决这个问题,我以规则的时间间隔(等于保持活动超时)向服务器发送一个数据包,以保持活动。这将导致一点流量(每次刷新约200字节),但这仍然是一个比在Apache中禁用keep-alive更可行的解决方案。
这是我为这个问题找到的唯一解决方案
对于有同样问题的人,这里有我的刷新代码,用于5秒的保持活动超时:
var updateDiv = function ()
{
$.ajax({type: 'POST', url: 'timeout.php'});
yourTimer = window.setTimeout(updateDiv, 5000);
}
$( document ).ready(function() {
var yourTimer = window.setTimeout(updateDiv, 5000);
});
- 请更改您的Jquery版本。当我使用jquery.js 1.10版本时,我在IE9中也遇到了同样的问题。在1.8版本中试用时,问题得到了解决
或
- 您可以简单地在代码中添加这一行$.support.cors=true
或
3.您可以添加jquery migrate js文件来解决此问题。http://code.jquery.com/jquery-migrate-1.2.1.js
相关文章:
- 如何实现基于两个数组创建结果数组的逻辑
- 无法获取所需的结果数组
- 动态结果数组需要使用 Angular JS 与不同布局的表绑定
- 如何从谷歌地图API返回的结果数组中提取城市名称
- 如何查询具有特定 id 的 json 文件并获取结果数组
- 如何将谷歌放置 API 结果数组与淘汰赛集成
- 是否保证 document.querySelectorAll(“input[type=checkbox”) 的结果数组的
- 如何使用 Parse.promise javascript 定义一个承诺数组并获取结果数组 [parse.com]
- HTML5 语音 API - 重置结果数组
- 如何访问在 ajax 中返回的结果数组
- 输出一个结果数组,其中包含给定数组的唯一元素的分组计数
- Javascript返回基于日期的平均测试结果数组
- NodeJS ExpressJS如何打印API结果数组
- 在添加到结果数组之前,请检查值是否存在
- 为什么String.match在结果数组中返回重复项
- 如何合并两个只有唯一或不同值的复杂JSON对象,这些值只显示在结果数组中
- Javascript -根据字符拆分字符串,但将其保留在结果数组中
- Javascript, array concat将Windows Object添加到结果数组中,但它不适用于Firefo
- 如何分割正则表达式空间和标点匹配,但保留结果数组中的标点符号
- 尝试从json树状结构JavaScript递归创建一个结果数组