禁止ajax缓存获取程序最新数据的方法


Posted in Javascript onNovember 19, 2013

今天做项目,几乎所有的提交都是通过ajax来提交,我测试的时候发现,每次提交后得到的数据都是一样的,调试可以排除后台代码的问题,所以问题肯定是出在前台。每次清除缓存后,就会得到一个新的数据,所以归根到底就是浏览器缓存问题。纠结了很久,终于解决了,在这里总结一下。

我们都知道ajax能提高页面载入的速度主要的原因是通过ajax减少了重复数据的载入,也就是说在载入数据的同时将数据缓存到内存中,一旦数据被加载其中,只要我们没有刷新页面,这些数据就会一直被缓存在内存中,当我们提交 的URL与历史的URL一致时,就不需要提交给服务器,也就是不需要从服务器上面去获取数据,虽然这样降低了服务器的负载提高了用户的体验,但是我们不能获取最新的数据。为了保证我们读取的信息都是最新的,我们就需要禁止他的缓存功能。

解决方案有如下几种:

1、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。

2、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache")。

3、在URL后面加上一个随机数: "fresh=" + Math.random();。

4、在URL后面加上时间搓:"nowtime=" + new Date().getTime();。

5、如果是使用jQuery,直接这样就可以了$.ajaxSetup({cache:false})。这样页面的所有ajax都会执行这条语句就是不需要保存缓

存记录。

Javascript 相关文章推荐
统计出现最多的字符次数的js代码
Dec 03 Javascript
javascript 自定义回调函数示例代码
Sep 26 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
Angularjs---项目搭建图文教程
Jul 08 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
使用ionic播放轮询广告的实现方法(必看)
Apr 24 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
vue-rx的初步使用教程
Sep 21 Javascript
javascript中的数据类型检测方法详解
Aug 07 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
Jul 29 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 #Javascript
jQuery控制iFrame(实例代码)
Nov 19 #Javascript
jquery 检测元素是否存在的实例代码
Nov 19 #Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 #Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
Nov 19 #Javascript
JavaScript中instanceof运算符的用法总结
Nov 19 #Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 #Javascript
You might like
php生成图形验证码几种方法小结
2013/08/15 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
Laravel find in set排序实例
2019/10/09 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python中正则表达式的使用详解
2014/10/17 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python中的变量和作用域详解
2016/07/13 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python星号*与**用法分析
2018/02/02 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
浅谈python写入大量文件的问题
2018/11/09 Python
python for 循环获取index索引的方法
2019/02/01 Python
pytorch 模型可视化的例子
2019/08/17 Python
Python切图九宫格的实现方法
2019/10/10 Python
幼儿园小班植树节活动方案
2014/03/04 职场文书
房屋租赁意向书
2014/04/01 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
捐款仪式主持词
2015/07/04 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技