ajax - Jquery .get() 在 Internet Explorer 中不起作用

标签 ajax internet-explorer jquery 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');

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

这在 FF 和 Chrome 中可以正常工作。然而,在 IE8 中,这甚至不会进入 $.get() 回调。我收到“之前”和“之后”警报,但没有收到“中”警报,实际上,什么也没有发生,请求也没有发送。我真的不知道该怎么想。

响应 header 为“Content-Type:application/xml; charset:iso-8859-1”,如 FF 中所确认。

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

最佳答案

IE 因缓存而臭名昭著。因此,您需要确保您没有获得缓存的结果。

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

$.ajaxSetup({
    cache: false
});

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

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

$.now() 方法返回一个代表当前时间的数字。

关于ajax - Jquery .get() 在 Internet Explorer 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692985/

相关文章:

jquery - IE6 下的 AJAX 极其缓慢

html - StencilJS:可选的 <slot/> 元素在 IE11/Edge 中不起作用

javascript - 使用ajax与其他数据一起上传多个文件

javascript - 重新排列 Html 元素

javascript - 如何在没有标签的地方添加标签?

javascript - XMLHttpRequest() 对象如何做到这一点?

ruby-on-rails - AJAX 渲染部分

Javascript 适用于 Chrome & Opera & Edge,但不适用于 FireFox 或 IE 11

javascript - 如何在点击时动态选择图像的ID

javascript - jquery post ajax 语法不起作用