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返回表示当前时间的数字.
$J.get(getActivityURL('ActionName'
// End $.get()
Run Code Online (Sandbox Code Playgroud)
它是否正确?我的意思是 $J...您是否使用多个 JS 框架或其他框架?