gpt4 book ai didi

jquery - 强制ajax调用清除缓存

转载 作者:行者123 更新时间:2023-12-03 22:54:07 25 4
gpt4 key购买 nike

我有一个 cms,可以在其中更改对象的位置。每次位置更改后,ajax 调用都会更新整个对象列表。但不幸的是,一些数据存储在缓存中,并且没有可见的更改。有没有办法用 javascript/request/other 强制清除缓存?我已在 $.ajax 中尝试过“cache: false”,但它不起作用。

这是一个示例页面:

http://ntt.vipserv.org/manage/playforward

还有我的js:

$(".object-position").livequery("change", function() {
$("#objects-list input").attr('disabled', true);
var action = $(this).attr('name');
var position = $(this).attr('value');
var id = $(this).attr("id");
var model = id.split("-")[0];
var object_id = id.split("-")[1];

$("#loader").show();
$("#loader").fadeIn(200);

$.ajax({
type: "POST",
async: true,
url: "/manage/update_position/",
data: "action=" + action + "&model=" + model + "&object_id=" + object_id + "&position=" + position,
dataType: "json",
success: function(data){
$("#loader").fadeOut("fast", function () {
$("#loader").hide();
});
$("objects-list").html(data["html"]);
$("#message").show();
$("#message").fadeIn(400).html('<span>'+data["message"]+'</span>');
setTimeout(function(){
$("#message").fadeOut("slow", function () {
$("#message").hide();
});
}, 1500);
}
});
$("#objects-list input").attr("disabled", false);
return false;
});

最佳答案

cache: false 的作用是将时间添加到请求数据中,因此每个请求实际上都是唯一的,因此绕过了浏览器的缓存。我想知道您使用数据字符串而不是对象的事实是否导致了这里的问题。尝试使用对象代替:

$.ajax({
type: "POST",
async: true,
url: "/manage/update_position/",
data: {
"action": action.
"model": model,
"object_id": object_id,
"position": position
},
cache: false,
dataType: "json",
success: function(data){
//[snip]
}
});

关于jquery - 强制ajax调用清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4060287/

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