gpt4 book ai didi

jquery - 如何不在移动 safari 应用程序中缓存 AJAX POST?

转载 作者:行者123 更新时间:2023-12-01 04:15:53 25 4
gpt4 key购买 nike

感谢这篇文章,我能够解决 mobile safari 缓存 ajax POST 请求的问题。添加“headers: {'Cache-Control': 'no-cache'}”似乎对我在移动 Safari 中的页面起到了作用。

但是,当我通过 mobile safari web 应用程序访问我的网站时,ajax 请求仍然会被缓存。我无法找到解决方案,所以我想在这里发布。除了添加上面提到的 header 之外,我还尝试添加“cache: false”以及添加“url: '/ajax_url?v='+time”。似乎没有任何作用。

为什么移动 Safari 与 Web 应用程序中的行为不同?我该如何解决这个问题?

编辑:

忘记了我的代码。这是:

function send_ajax(my_data,refresh){ 
var now = new Date();
var n = now.getTime();
$.ajax({
url: "/ajax_page?time=" + n,
type: "POST",
headers: {"cache-control": "no-cache"},
data: my_data,
dataType: 'json'
})
.fail( function (jqXHR, textStatus, errorThrown){
})
.done(function(data){ // refresh the page after we get the results
if(refresh=='true'){
var pathArray = window.location.pathname.split('/');
window.location.href = '/' + pathArray[1];

}
});

}

send_ajax({'my_checkbox': $('#my_checkbox').is(':checked') },'true');

最佳答案

一种始终有效的解决方案是向请求添加一个参数,其中包含发出请求的时间(本质上是时间戳)。这使得每个请求都成为服务器必须处理的独特雪花。

这类似于将网站的版本放入所有脚本/CSS 文件的名称中,以便更新后访问您网站的用户必须下载新文件。

关于jquery - 如何不在移动 safari 应用程序中缓存 AJAX POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com