Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因相关的知识,希望对你有一定的参考价值。
参考技术A 看到别人写的JS,ajax请求地址后加随机参数,比如XXXX?t=+
new
Date().getTime()。
一开始搞不懂为什么,网上查了资料,原因是防止浏览器缓存。
浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存。当url请求地址不变时,
有时候会导致浏览器不发送请求,直接从缓存中读取之前的数据。
如果数据改变了,而没加随机数,读取的数据会跟之前一样。
加上随机数,就是欺骗浏览器url改变了,会每次都向服务器发送请求而不去读缓存
ie浏览器下get方式获取数据无效问题
在ie浏览器用get方式获取数据时因为发送得到参数地址都是一样的,所以浏览器会优先从缓存获取数据,而不去服务器请求数据,post由于参数不同所以不会影响。
解决方法:
1. Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以
2. 在ajax请求的页面后加随机数
例:URL=“t=”+Math.random();//或者new Date();
或: “?timestamp=”+new Date().getTime();
最好的方法:用一个公共的ajax方法设置{cache:false;}就不需要每个接口写随机数了;
以上是关于Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因的主要内容,如果未能解决你的问题,请参考以下文章