Jquery .get()无法在Internet Explorer中运行

Ale*_*dro 4 ajax jquery internet-explorer internet-explorer-8

我有问题,猜猜看,IE8.为简洁起见,以下代码根本不起作用:

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');
Run Code Online (Sandbox Code Playgroud)

getActivityUrl()输出带有请求参数的有效URL.

这在FF和Chrome中正常工作.但是,在IE8中,这甚至没有进入$ .get()回调.我得到"之前"和"之后"警报,但没有"进入"警报,事实上,没有任何反应,请求也没有发送.我真的不知道在这里想什么.

响应头是"Content-Type:application/xml; charset:iso-8859-1",在FF中得到确认.

编辑:$ .post()也不起作用.

Shy*_*yju 12

IE在缓存方面臭名昭着.因此,您需要确保没有获得缓存结果.

您可以通过在ajaxStart方法中将cache属性值设置为false来全局禁用缓存.

$.ajaxSetup({
    cache: false
});
Run Code Online (Sandbox Code Playgroud)

或者如果要在特定的ajax调用中消除缓存的结果,请在URL的末尾附加一个唯一的数字.您可以使用该$.now()方法获取唯一编号

$.get("someurl.php?" + $.now() ,function(result) {
   // do something with result
});
Run Code Online (Sandbox Code Playgroud)

$.now() method返回表示当前时间的数字.


atz*_*tzu 0

$J.get(getActivityURL('ActionName'

// End $.get()
Run Code Online (Sandbox Code Playgroud)

它是否正确?我的意思是 $J...您是否使用多个 JS 框架或其他框架?