我正在尝试调试ajax get/post在IE7/8中不起作用的原因
下面是我的代码:
$.ajax({type: "POST", dataType:'html',url: "/places/set_member/add/",data: "place_id="+place_id ,
beforeSend: function() {$("<span class='notice'>Saving...</span>").prependTo('body');},
success: function(){
$.ajax({type:"GET",url:url,success:function(html){$('div.place-list .ui-tabs-panel').html(html);},complete:function(){resetAddThis();}})
},
complete: function() {
$('span.notice').fadeOut(500);
$('span.notice').remove();
}});现在,这在FF Safari Win/Mac中运行良好,但在IE 7/8中不起作用
我下载了fiddler并观察了调用,脚本应该将数据发送到服务器,然后重新加载HTML,它现在有新的更新信息。发生的情况是,第一个调用得到错误500,但是,在html重新加载之后,并且再次执行相同的操作,它将以200ms的速度发送,因此它给人一种它没有保存的外观,它只在第二次尝试时才保存。
是不是我做错了什么,或者我需要添加什么?这是一个php循环,所以这个函数被应用于页面上20-30个项目的相同链接。
发布于 2009-11-29 06:00:29
IE缓存所有非POST类型的ajax调用。我发现最好将所有Ajax调用都设为POST,以避免IE这样做,即使您发布的是空数据。
或者你可以按照@redsqaure下面的建议这样做:
缓存({$.ajaxSetup:false})
发布于 2012-10-05 00:25:23
如果你不需要你的数据类型是HTML,你可以试试这个。
$.ajax({
url: 'Enter URL'
dataType: 'jsonp',
type: 'get',
success: function (data) { }
});发布于 2009-11-29 05:56:45
IE缓存ajax调用。确保在调用中包含随机数或随机字符串,例如&rand=[some randomly generated something],然后重试。
https://stackoverflow.com/questions/1813848
复制相似问题