在URL后添加随机数
Adding a random number after the URL
我有一个网站,它使用jQuery和Ajax来改变网站内容,而无需重新加载页面。这个网站包含我经常修改的内容。但不知何故,页面被保存在缓存中,所以它不显示更改。
我尝试了一些事情,使浏览器不保存网站到缓存像METAs和PHP。但是这行不通。
我认为这与事实有关,页面总是有相同的URL,所以我想添加一个随机数,如:
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
(这不是我的代码,发现它与一些谷歌),但这只增加了链接ID我点击到URL。我不知道在哪里放"Math.random()"来添加一个随机数。
希望你能帮忙!
只用cache : false
。jQuery将自动在URL的末尾添加时间戳,以确保ajax请求永远不会被缓存。
引用.ajax()
的API参考
例子缓存默认值:true, false对于数据类型'script'和'jsonp'
如果设置为false,它将强制浏览器不缓存请求的页面。将缓存设置为false还会向URL添加一个查询字符串参数"_=[TIMESTAMP]"。
全局禁用缓存所有未来的ajax请求。参见
.ajaxSetup()
$.ajaxSetup({ cache: false });
禁用每个请求的缓存。参见
.ajax()
$.ajax({ url: "test.html", cache: false, success: function(html){ $("#results").append(html); } });
如果您正在使用jQuery的AJAX函数,请尝试在页面顶部设置$.ajaxSetup( { cache: false } )
,并让jQuery为您处理它
就像大多数提到的,你应该使用jQuery的cache
参数,但对于你的信息,它通常不使用Math.random
,而是使用new Date().valueOf()
,这是一个时间值,几乎保证是唯一的。
window.location.hash = $(this).attr('href')
.substr(0,$(this).attr('href').length-5)
+ Math.random();
最好的选择是在请求中使用时间戳:
window.location.hash = $(this).attr('href')
.substr(0,$(this).attr('href').length-5)
+ timestamp;
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- Javascript动态变量(添加了随机数)
- 在javascript中添加和显示对象的随机数组中的视频
- 将随机数添加到登录表单的URL的目的是什么
- 生成 4 个随机数,这些随机数在 Javascript 中添加到某个值
- Javascript-添加在for循环中生成的随机数
- 从一个随机数添加一个类
- 我如何在min.js文件之前添加一些随机数,使用grunt或gulp
- 在URL后添加随机数
- 每24小时添加一个随机数
- 如何将随机数添加到结果处的存储变量中,作为一个数字,而不是两个字符串加在一起
- 帮助添加变量到自我和随机数(javascript)