我有一个使用jQuery和Ajax的站点来更改站点内容而无需重新加载页面.该网站包含我经常更改的内容.但不知何故,页面会保存在缓存中,因此它不会显示更改.
我尝试了几件事使浏览器不将网站保存到缓存中,如META和PHP.但它不起作用.
我认为这与事实有关,即页面总是有相同的URL,所以我考虑添加一个随机数,如:
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
Run Code Online (Sandbox Code Playgroud)
(这不是我的代码,用googlin发现它)但这只会添加我点击链接ID到URL.我不知道在哪里放"Math.random()"来添加一个随机数.
希望你能帮忙!
只是用cache : false.jQuery会自动为您的URL末尾添加一个时间戳,确保永远不会缓存ajax请求.
引用API参考 .ajax()
cache默认值:true,false表示dataType'script'和'jsonp'
如果设置为false,它将强制浏览器不缓存请求的页面.将cache设置为false还会将查询字符串参数"_ = [TIMESTAMP]"附加到URL.
例子
全局禁用所有未来ajax请求的缓存.看到.ajaxSetup()
$.ajaxSetup({
cache: false
});
Run Code Online (Sandbox Code Playgroud)禁用每个请求的缓存.看到.ajax()
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
12992 次 |
| 最近记录: |