我试图让页面重新加载,如果它已在服务器上更改,ajax每秒请求页面自己的URL,然后检查textStatus
是否notmodified
。
setTimeout(function(){
$.ajax({
url : window.location.pathname,
dataType : "text",
ifModified : true,
success : function(data, textStatus) {
if (textStatus !== "notmodified") {
location.reload();
}
}
});
}, 1000);
但是,textStatus
始终为success
答案 0 :(得分:1)
尝试使用随机变量来避免缓存响应本身。另外,将!==
替换为!=
。
setTimeout(function(){
$.ajax({
url : window.location.pathname + "?" + (new Date()).getMilliseconds(),
dataType : "text",
ifModified : true,
success : function(data, textStatus) {
if (textStatus != "notmodified") {
location.reload();
}
}
});
}, 1000);
如果这不起作用,请尝试替换:
location.reload();
使用:
location.href = location.href;
这还取决于服务器端脚本。它还需要从服务器端发送...通过设置no-cache
和content-expires
。