Jquery.getJSON的缓存问题的处理方法

$.getJSON()存在缓存问题,如果其调用的url之前曾经调用过的话,回调函数就会直接在缓存里取得想要得值,而不是进入到后台

在项目中遇到一个问题,在火狐下,$.getJSON();请求数据一切正常,但是在IE下面,$.getJSON();只请求一次数据,第二次根本就不发送请求了,用fiddler抓取了才知道,第二次没有发送请求,改成了post就正常了

解决方法如下:

1、让每次调用的URL都不一样。

方法:在参数中加一个随机数

$.getJSON("/Member/GetExercise.html", { id: $("#Wareid").val(), isBool: loop, random: Math.random() }, function (data) });

2、将cache设为false

$.ajax({
    type:"GET",
    url:‘/Member/GetExercise.html‘,
    cache:false,
    dataType:"json",
    success:function (data){
        alert(data);
    }
});
时间: 2024-10-06 15:08:13

Jquery.getJSON的缓存问题的处理方法的相关文章

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

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

Jquery getJSON方法分析

转自:http://www.cnblogs.com/jams742003/archive/2009/12/25/1632276.html 准备工作 ·Customer类 public class Customer { public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; set; } } ·

jquery ajax清除缓存的方法

function cityListChange(cityCode){ //{lon=121.491121, name=上海, province=上海市, telPrefix=021, provinceid=310000, code=310100, lat=31.243466, platePrefix=沪} $.ajax({ type: "get", dataType: "json", url: "${contextPath}/carUpload/cityL

Jquery getJSON方法分析(一)

准备工作 ·Customer类 public class Customer{    public int Unid { get; set; }    public string CustomerName { get; set; }    public string Memo { get; set; }    public string Other { get; set; }} ·服务端处理(Json_1.ashx) Customer customer = new Customer       {

jquery ajax跨域的完美解决方法(jsonp方式)

ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquer

jQuery.data的是jQuery的数据缓存系统

jQuery.Data源码 jQuery.data的是jQuery的数据缓存系统.它的主要作用就是为普通对象或者DOM元素添加数据. 1 内部存储原理 这个原理很简单,原本要添加在DOM元素本身的数据,现在被集中的存储在cache集合中.它们之间靠一个从1开始的数字键来联系着.这样DOM元素就不会像以前那么笨重了,更不会出现以前那种循环引用而引起的内存泄漏.现在DOM只需要保存好这个数字键值即可.这个属性值被保存在DOM元素的一个属性里,该属性名是由jQuery.expando生成的. 2 Da

读jQuery之六(缓存数据)

很多同学在项目中都喜欢将数据存储在HTMLElement属性上,如 1 2 3 4 <div data="some data">Test</div> <script>     div.getAttribute('data'); // some data </script> 给页面中div添加了自定义属性“data”及值“some data”.后续JS代码中使用getAttribute获取. jQuery从1.2.3开始提供了data/re

jquery getJson

JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语言,并且可以被JS直接使用.使用JSON相比传统的通过 GET.POST直接发送“裸体”数据,在结构上更为合理,也更为安全.至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本.这个函数也是可以跨域使用的,相比get().post()有一定优势.另外这个函数可以通过把请求url写 成"myurl?callback=X"这种格式,让程序执行回调函数X. get

js清除浏览器缓存的几种方法

关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能.但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些 错误的数据.像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的.今天主要介绍清除缓存的几种方法. 清理网站缓存的几种方法 meta方法 //不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP