IE 针对ajax get请求的缓存问题

在chrome,ff中发送ajax请求get内容时没有缓存的现象,但是在IE中会对请求进行缓存,从而导致更新的内容没有改变的问题。

如果,你把CPU的阈值设置为25了,前面页面也提示设置成功了,但是CPU的阈值却还是原来的50。调试时,会发现返回的值确实是原来的值50而不是你最新设置的值25。你换到chrome浏览器却没有这种现象。

结论: IE浏览器对ajax请求进行了缓存。

解决办法:

方法1:

url地址后添加随机后缀进行url欺骗

xmlhttp.open("GET","/nms/systemset/getlimit/?t="+new Date().toTimeString(),true);

方法2:

服务器侧添加 cache-control:no-chache头

cowboy_req:reply( 200,
           [  
             {<<"content-type">>, <<"application/json">>},
             {<<"cache-control">>, <<"no-cache">>}
           ],  Req2 ).

参考文章:

http://www.cnblogs.com/wanggd/archive/2013/05/06/3063673.html

http://www.cnblogs.com/artech/archive/2013/01/03/cache-4-ie.html

http://my.oschina.net/nswish/blog/373971

时间: 2024-10-07 17:40:42

IE 针对ajax get请求的缓存问题的相关文章

AngularJS 中设置 AJAX get 请求不缓存的方法

var app = angular.module('manager', ['ngRoute']); app.config(['$routeProvider', function($routeProvider) { $routeProvider .when("/index", { templateUrl: "/Templates/index.html", controller: IndexCtrl }) .when("/search", { tem

针对增量请求的缓存机制实现 - AOP

背景: 在web应用中,我们经常使用黑白名单,在http://blog.csdn.net/troy__/article/details/39320699中我们实现了一个线程安全的针对全量请求的缓存机制,这种技术主要是用于黑白名单的全量更新.但是我们不能经常请求全量吧,网络和数据库都会累死,所以在此我们设计实现一个针对增量请求的缓存机制.全量请求提供黑白名单低频度的更新,增量请求提供黑白名单高频度的更新.当然,全量和增量的应用场景也并不只是黑白名单. 设计概述: 使用缓存的关键之一是:缓存并不能保

针对增量请求的缓存机制实现

背景: 在web应用中,我们经常使用黑白名单,在http://blog.csdn.net/troy__/article/details/39320699中我们实现了一个线程安全的针对全量请求的缓存机制,这种技术主要是用于黑白名单的全量更新.但是我们不能经常请求全量吧,网络和数据库都会累死,所以在此我们设计实现一个针对增量请求的缓存机制.全量请求提供黑白名单低频度的更新,增量请求提供黑白名单高频度的更新.当然,全量和增量的应用场景也并不只是黑白名单. 设计概述: 使用缓存的关键之一是:缓存并不能保

Ajax请求被缓存的几种处理方式

我们都知道IE会针对ajax请求的地址缓存请求结果,直到缓存过期之前,针对相同地址发出的请求,只有第一次会请求会真正发送到服务端.在某种情况下,这种缓存机制确实能提高web的响应速度,但是有时候并不是我们需要的,有时候我们需要获取即时信息,那么有哪几种方式来解决这个问题呢,下面列举了几种解决方案! 1.  通过URL添加后缀的方式 这种方式是我们大家都会使用的技巧,大多人都知道 例如: 本来请求的地址是: /home/action? 加查询参数后缀后:/home/action?ran=Match

Ajax在IE中缓存问题

<!DOCTYPE html><%@page contentType="text/html" pageEncoding="UTF-8"%><%@ page isELIgnored="false"%><%@include file="/jsp/common/meta.jsp"%><%@include file="/jsp/common/taglibs.jsp&quo

使AJAX调用尽可能利用缓存特性

优化网站设计(十四):使AJAX调用尽可能利用缓存特性 前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践.这个列表请参考  Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html,同时,他们还发布了一个相应

ajax页面请求的做的留言板

在jquery中关于ajax的请求页面的函数主要有: load.get.post.$.ajax; 主要的用法是: ①. load(url):可以单独这么来加载其他地方的页面,当需要特定加载某一个页面的一处时,可以加个空格#id即格式是:example.html #id;加载后返回被加载页面部分到调用该方法 的对象处. ②. load(url,{data},true);里面有三个参数,一个是需要加载的url.传送给服务器的数据data,一般以json对象传输,第三个参数是是否是异步或者同步加载页面

jQuery中ajax的使用与缓存问题的解决方法

jQuery中ajax的使用与缓存问题的解决方法 1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的) 防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的] 设计WEB页面的时候 也应该遵守这个

Ajax异步请求的各种使用情况

首先介绍下Ajax的各项参数: url : 发送请求的地址  (默认: 当前页地址) data :发送到服务器的数据 (必须为 Key/Value 格式) type : 请求方式 ("POST" 或 "GET"), 默认为 "GET". dataType : 预期服务器返回的数据类型.如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML.在1.4中,JSON就会生成一个JavaSc