禁止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技巧来提高你的代码
Jan 08 Javascript
JavaScript和JQuery实用代码片段(一)
Apr 07 Javascript
JavaScript 判断浏览器是否支持SVG的代码
Mar 21 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
js函数返回多个返回值的示例代码
Nov 05 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
node.js中的console.dir方法使用说明
Dec 10 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
jquery-mobile表单的创建方法详解
Nov 23 Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 Javascript
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 Javascript
JavaScript中.min.js和.js文件的区别讲解
Feb 13 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
vue.js input框之间赋值方法
2018/08/24 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
Python如何输出警告信息
2020/07/30 Python
英国领先的游戏零售商:GAME
2019/09/24 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
搞笑爱情保证书
2014/04/29 职场文书
国企干部对照检查材料
2014/08/22 职场文书
领导班子四风表现材料
2014/08/23 职场文书
小班下学期个人总结
2015/02/12 职场文书
质量负责人岗位职责
2015/02/15 职场文书
项目验收申请报告
2015/05/15 职场文书
朋友聚会开场白
2015/06/01 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript