您好我在寻找一些提示来解决我在ajax刷新时遇到的问题,问题是div显示加载的最新信息,但是当它刷新时显示较旧的数据。 div显示播放的最新曲目,就像我说的那样,当页面加载时显示正确的曲目,但是10秒后重新加载它显示的是较旧的曲目。
这是我的代码......
$(document).ready(function() {
$("#tracks").load("json.php");
var refreshId = setInterval(function() {
$("#tracks").fadeOut('slow').load("json.php").fadeIn('slow');
}, 10000);
$.ajaxSetup({ cache: false });
});
任何帮助解决这个问题的人都会非常感激
答案 0 :(得分:3)
我发现禁用ajax缓存在所有浏览器中都无法可靠地运行。为了确保获得新鲜内容,您可以向查询字符串添加一些唯一数据,例如:
function rand() {
return Math.floor((Math.random()*99999)+10000);
}
...
$("#tracks").load("json.php?defeatCache="+rand());
答案 1 :(得分:3)
这可能是由浏览器的缓存引起的。 您应该明确关闭缓存以避免这种情况。
在ASP中你可以/应该设置:
Response.CacheControl = "no-cache, no-store, must-revalidate"
Response.Expires = -1
有关此问题的详细讨论,请参阅this topic。