嗨,我正在寻找一些提示来解决我在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 });
});
任何帮助解决这个问题将不胜感激
这可能是由浏览器的缓存引起的。您应该明确关闭缓存以避免这种情况。
在ASP中你可以/应该设置:
Response.CacheControl = "no-cache, no-store, must-revalidate"
Response.Expires = -1
请参阅this topic以获得关于此的精彩讨论。
我发现禁用ajax缓存在所有浏览器中都不能可靠地工作。为了确保获得新鲜内容,您可以向查询字符串添加一些唯一数据,例如:
function rand() {
return Math.floor((Math.random()*99999)+10000);
}
...
$("#tracks").load("json.php?defeatCache="+rand());