禁止 ajax 缓存最简单的办法就是在 js 端直接生成一个随机数了, 但是有时会发现此方法不适用于 post 了, 如果我们要禁止 post 提交数据的 ajax 缓存需要怎么处理呢, 下面我整理了很多关于禁止 aja...
禁止 ajax 缓存最简单的办法就是在 js 端直接生成一个随机数了, 但是有时会发现此方法不适用于 post 了, 如果我们要禁止 post 提交数据的 ajax 缓存需要怎么处理呢, 下面我整理了很多关于禁止 ajax 缓存的例子.
ajax 缓存有好处, 但也有坏处, 缓存有时候会导致误操作, 影响用户体验, 若你的 web 项目不需要 ajax 缓存功能, 可按下述方法来禁止 ajax 缓存.
一在 ASP 中禁止 ajax 缓存:'放在 ASP 网页最开头部分, 代码如下:
- Response.expires=0
- Response.addHeader("pragma","no-cache")
- Response.addHeader("Cache-Control","no-cache, must-revalidate")
二在 PHP 中禁止 Ajax 缓存, 放在 PHP 网页开头部分, 代码如下:
- header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
- header("Cache-Control: no-cache, must-revalidate");
- header("Pragma: no-cache");
三在 JSp 中禁止 ajax 缓存, 代码如下:
- // 放在 JSP 网页最开头部分
- response.addHeader("Cache-Control", "no-cache");
- response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");
四通过给网页添加随机字符强制更新, 代码如下:
- var url = 'http://url/';
- url += '?temp=' + new Date().getTime();
- url += '?temp=' + Math.random();
五若是静态 html, 可添加 HTTP headers 头禁止缓存, 代码如下:
六可以在 XMLHttpRequest 发送请求之前加上以下代码禁止 ajax 缓存, 代码如下:
- XMLHttpRequest.setRequestHeader("If-Modified-Since","0");
- XMLHttpRequest.send(null);
七 jQuery ajax Load 禁止
在 jQuery 提供一个防止 ajax 使用缓存的方法, 把下面的语句加在 head 的 javascript 文件里, 就可以解决问题, 代码如下:
- $.ajaxSetup ({
- cache: false // 关闭 AJAX 相应的缓存
- });
小结: 不过现在都是使用 jquery ajax 了我们如果不希望缓存可以直接设置 cache: false 这样可以解决 post,get 等提交数据方式.
来源: https://www.php1.cn/detail/php-8eebcab677.html