Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari缓存我的AJAX请求_Javascript_Jquery_Ajax_Safari - Fatal编程技术网

Javascript Safari缓存我的AJAX请求

Javascript Safari缓存我的AJAX请求,javascript,jquery,ajax,safari,Javascript,Jquery,Ajax,Safari,我希望我的一个页面在用户每次加载页面时触发一个javascript AJAX调用,即使他返回到浏览器历史记录中的页面。因此,我将此函数放在我的jsp中(我使用的是jQuery Mobile): 仅使用此代码和javascript函数: function myFunction(url) { var currentTime = new Date(); var n = currentTime.getTime(); var epUrl = url + "?nocache" +

我希望我的一个页面在用户每次加载页面时触发一个javascript AJAX调用,即使他返回到浏览器历史记录中的页面。因此,我将此函数放在我的jsp中(我使用的是jQuery Mobile):

仅使用此代码和javascript函数:

function myFunction(url) {

    var currentTime = new Date();
    var n = currentTime.getTime();

    var epUrl = url + "?nocache" + n;

    $.ajax({
        url : epUrl,
        dataType: "json",
        method: "post",
        headers : { "cache-control": "no-cache" },
        cache:false,
    }).done(function(data) {
        //do something
    });
}
我设法让Chrome、Firefox和IE甚至在按下后退按钮时也能启动ajax调用。但我无法让Safari表现出这种行为。无论我尝试什么,它都不会通过我的服务器端功能

如您所见,我尝试为ajax调用禁用缓存,并通过appendind在当前时间更改端点url,但没有效果。我甚至试着把

    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

在我的控制器方法上,但它也不起作用。我无法让Safari在返回历史页面时调用此函数。

在Windows上,在iPhone(iOS 7)和MacTry上,是否连接到
popstate
事件?它与popstate事件一起工作。谢谢
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");