Jquery .get()不能在Internet Explorer中工作
我有一个问题,猜是什么,IE8。下面的代码,为了清楚而简化,并不在所有的工作:Jquery .get()不能在Internet Explorer中工作
alert('before get');
$.get(getActivityURL('ActionName',{
ts: new Date().getTime(), ...other params...}),
{cache:false;},
function (xml) {
alert("in get callback");
},'xml'); // End $.get()
alert('in after get');
的getActivityUrl()输出一个有效的URL与请求参数。
这可以在FF和Chrome中正常使用。但是,在IE8中,这甚至没有进入$ .get()回调。我收到了“之前”和“之后”的警报,但没有收到警报,实际上什么都没有发生,请求也没有发送。我真的不知道该怎么想。
如FF中所确认的,响应标头为“Content-Type:application/xml; charset:iso-8859-1”。
编辑:$ .post()也不起作用。
$J.get(getActivityURL('ActionName'
// End $.get()
这是正确的吗?我的意思是$ J ...你使用多个JS框架还是其他?
然后它会在每个浏览器中抛出错误。 – rahul 2011-01-14 16:03:22
是的,忘了提及,它在整个应用程序中是正确的“无冲突”。无论如何,我只是编辑了这个问题。 – Alessandro 2011-01-14 16:03:47
具有u尝试:
$.ajax({
url: getActivityURL('ActionName',{ts: new Date().getTime(), ...other params...}),
data: data,
success: function (xml) {
alert("in get callback");
},
dataType: 'xml'
});
只是一个猜测
编辑:
我发现了一个有趣的线索,可以帮助你,检查了这一点:
和以前一样,没有变化(我还包括类型:'GET')。它仍然适用于所有其他浏览器,但不会影响IE – Alessandro 2011-01-14 16:16:13
它在ie6和7中可以工作吗?或不在所有的IE浏览器? – 2011-01-14 16:17:16
我不确定是否是问题,但尝试去除 ”;”在{缓存:假}
IE不喜欢任何额外的东西{},例如 {A:A,B:B,C:C,}将在FF工作,但不是在IE
我认为在IE中存在缓存问题。
因此,在像"&mathRandom="+Math.random();
末尾添加Math.random()
,多了一个参数,因为IE浏览器将识别为前一个相同的请求,那么它将给从缓存中,而不是射击请求数据。
你能提供完整的函数调用,而不是错过了一些位?您目前的代码不适用于任何浏览器。 – lonesomeday 2011-01-14 16:08:51
这个确切的代码适用于每个浏览器保存IE8。 “getActivityUrl(...)”返回一个有效的URL。 – Alessandro 2011-01-17 09:06:01