哎呦,你听说了没?网上都在热火朝天地聊jQuery的事儿,很多网站也都在用。但是,如果你用它来获取数据的话,得留个心眼儿,因为有时候可能会遇到缓存引起的麻烦事儿,比如网页出错或收到已经过时的信息等。那么怎么应对这种情况?别担心咱们今天就来聊聊怎么解决这个问题!
一、什么是缓存
哈喽!要知道,缓存,其实就和你用浏览器上网,把看过的东西都记下来一样。例如图片啊、代码啊、格式什么的。然后再去看那网页时,就不用重新找服务器了,直接在你电脑上把它们翻出来,所以速度自然快多,这就是为啥要用缓存。
二、jQuery如何阻止缓存
要让浏览器不再缓存我们的请求,只要在jQuery里动动手脚就好。比如在搞AJAX请求的时候,加点”Cache-Control”和”Expires”的小尾巴,浏览器立马明白不能偷懒存缓存,每次都会乖乖跑去服务器找新的!下面举个简单的例子:
1.在GET请求中阻止缓存:
javascript $.ajax({ url:'your-url',$.ajax({ type: "GET", cache: false, //设置为false,即禁止缓存 url: "http://www.example.com/get_data.php", success: function(data){ //处理返回结果 } });type:'GET',
cache:false,
success:function(data){
//handlesuccess$.ajax({ type: "POST", cache: false, //设置为false,即禁止缓存 url: "http://www.example.com/post_data.php", data: { "name": "张三", "age": 18 }, success: function(data){ //处理返回结果 } });}
});2.在POST请求中阻止缓存:
type:’POST’,
$.ajax({ type: "GET", url: "http://www.example.com/get_data.php", beforeSend: function(xhr){ xhr.setRequestHeader("Cache-Control", "no-cache"); xhr.setRequestHeader("Expires", "0"); }, success: function(data){ //处理返回结果 } });3.设置请求头的方式来阻止缓存:
别缓存了,直接跳过过期时间得了。
三、阻止缓存的原理
好了,咱们来聊聊如何修复浏览器无法保存网页这个问题!小菜一碟,只要在请求头里加上”Cache-Control”和”Expires”两个参数就行。那这两货到底是干嘛的?
“Cache-Control”就是我们之间的一些缓存规定。那我们可以选什么规矩?
-“no-cache”:不管你想不想看,都得找服务器去更新内容,别想着偷懒
-最大寿命就是告诉电脑资源能在你家待多久,是用秒来算哒!
-no-store:禁止使用本地缓存。
“过期”就是说那东西挂了,要用的话得找服务器换个新的。
搞定这俩请求头设置以后浏览器就不会记得上回看到哪儿去。每次打开都是全新体验!
四、其他相关内容
别急,不止刚才那个办法,还能用很多其他又简单又好玩儿的招数搞定缓存问题!
记住,把网址后面随便加上个数或者什么时间戳之类的,这样浏览器就不会用原来的缓存了。
厉害了!就是给静态文件加上版本号,浏览器会自动更新我们的CSS和JS文件!
窍门儿来了:搞定服务器上的Cache-Control跟Expires参数,浏览器缓存就没烦恼!
五、总结
在做网页设计时,记得关注一下jQuery里面那个缓存~别怕!只需要调整请求头参数,制定对的策略就OK。学会这个技巧,你的网页浏览和刷新速度绝对妥妥的没问题希望这些经验能帮到你们
评论0