我有一个非常奇怪的问题。我正在使用jQuery进行非常标准的ajax调用,但它拒绝使用Internet Explorer 7。
代码如下:
$.ajax({
url: updateUrl,
cache: false,
type: 'post',
data: params,
success: function(data){
handleResponse(data);
}
});
奇怪的是,如果我将类型改为'get',一切都能正常工作。我已经确定,使用'post',IE根本不会向服务器发送任何内容。
我也设置了所有类型的标头以防止缓存,但它们对“发布”问题没有影响。
答案 0 :(得分:0)
根据$.post()
的{{1}}(这是AJAX调用的简写),你知道吗:
使用POST获取的页面永远不会 缓存
尝试为返回的数据设置dataType,并添加一个错误处理程序,以警告任何错误:
$.ajax({
url: updateUrl,
cache: false,
type: 'post',
data: params,
success: function(data){
handleResponse(data);
},
error: function(xhr,textStatus){
alert(textStatus);
}
});
另外,你确定它发布的页面是获取POST变量而不仅仅是GET变量吗?
答案 1 :(得分:0)
我终于能够追踪这个问题了。最终问题是Sarissa和jQuery之间的冲突。可以从here找到解决方案。提出修复后,IE再次工作。
另一个问题也是CrossOver中的IE7。它总体上似乎有缺陷,因为即使修复它也无法正常工作。