JQuery $ .ajax,$ .get问题

Jef*_*der 5 php ajax jquery

我有 $(".clickButton").点击(使用$ .ajax加载页面的function()并将结果返回给DIV.这在Chrome,FireFox和Safari中完美运行,但不适用于IE11.

$.ajax({
    url: "go.php?ab=1",
        success: function(data, textStatus, xhr) {
        $("#res").html(data);       
   }
});
Run Code Online (Sandbox Code Playgroud)

作为一个快速测试,我尝试了以下内容,它再次适用于Chrome,FireFox和Safari,但不适用于IE11.

$.get('go.php?ab=1', function( jqXHR, textStatus, errorThrown )
{ alert(jqXHR); });
Run Code Online (Sandbox Code Playgroud)

返回的日期是文本,可以是OKERROR.go.php正在运行多个命令行脚本,并根据运行时传递的变量进行调整.

所有这一部分都很好,它在3个浏览器中运行良好,但不是IE11.

当页面首次在IE中加载它有点工作时,它似乎运行go脚本并返回结果.但任何后续点击返回即时和go.php页面都不会被调用.显示结果但它们似乎是第一个返回结果的进程.就像结果和进程已被缓存一样.

任何想法如何使其在IE中工作,就像在其他人一样?

小智 3

就好像结果和过程已经被缓存了。

这个有可能。如果您向同一 URL 发送多个 GET 请求,您的浏览器可能会缓存结果。如果您想验证这一点,可以单击该按钮,清除缓存而不重新加载页面,然后再次单击该按钮以查看这次是否按预期工作。

为了防止缓存 GET 请求,您可以添加

cache: false
Run Code Online (Sandbox Code Playgroud)

每个请求的 $.ajax 选项,或者您可以使用以下命令对所有请求禁用它

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