禁止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中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
EditPlus中的正则表达式 实战(4)
Dec 15 Javascript
SVG描边动画
Feb 23 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
Nov 20 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
JS使用H5实现图片预览功能
Sep 30 Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 21 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购物车实现代码
2011/10/10 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
通过cmd进入python的步骤
2020/06/16 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
化工操作工岗位职责
2014/04/29 职场文书
专科生就业求职信
2014/06/22 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
成本会计实训报告
2014/11/05 职场文书
单位实习鉴定评语
2015/01/04 职场文书
《学会看病》教学反思
2016/02/17 职场文书