禁止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 相关文章推荐
jquery图片放大镜功能的实例代码
Mar 26 Javascript
js 获取时间间隔实现代码
May 12 Javascript
js实现DOM走马灯特效的方法
Jan 21 Javascript
jquery动态添加删除(tr/td)
Feb 09 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
Bootstrap学习笔记之环境配置(1)
Dec 07 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
微信小程序实现点击按钮后修改颜色
Dec 05 Javascript
微信小程序实现watch监听
Jun 04 Javascript
js实现随机点名功能
Dec 23 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
代码生成器 document.write()
2007/04/15 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
Python实现提取文章摘要的方法
2015/04/21 Python
python实现爬虫下载美女图片
2015/07/14 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Numpy中的mask的使用
2018/07/21 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
NumPy排序的实现
2020/01/21 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
用python发送微信消息
2020/12/21 Python
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
关于感恩的演讲稿400字
2014/08/26 职场文书
农村文化建设标语
2014/10/07 职场文书
雷峰塔导游词
2015/02/09 职场文书
工作后的感想
2015/08/07 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python