`

解决jquery load,get 方法缓存数据问题

 
阅读更多
  1. 当jquery load 一个页面时候 只加载一次   解决方法有俩种   
  2. 1jQuery提供一个防止ajax使用缓存的方法,  
  3. <script type="text/javascript" language="javascript">  
  4. $.ajaxSetup ({  
  5. cache: false //close AJAX cache  
  6. });  
  7. </script>  
  8. 这个方法在每次load页面的时候都要执行一次  否则只会再第一次时候有效 其他load 还会读取缓存页面  
  9. 2 第二就是修改load 加载的url地址  
  10.  例如 再url 多加个时间参数就可以 这个方法再wap1.0 中 我也用过避免读取缓存  
  11.   
  12. 还有就是之前查到的其他两种办法,针对该问题,不起作用:  
  13. 1、设置html的缓存  
  14. <META HTTP-EQUIV="Pragma" CONTENT="no-cache">       
  15. <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">       
  16. <META HTTP-EQUIV="Expires" CONTENT="0">  
  17. 2、java设置缓存  
  18. <%  
  19.     request.setAttribute("decorator""none");  
  20.     response.setHeader("Cache-Control","no-cache"); //HTTP 1.1  
  21.     response.setHeader("Pragma","no-cache"); //HTTP 1.0  
  22.     response.setDateHeader ("Expires"0); //prevents caching at the proxy server  
  23. %><pre name="code" class="java">Jquery $.get方法缓存问题  
  24.   
  25. 在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。  
  26. 要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现:  
  27. 在$.get()的data后面加上新的随机参数,如{data: mydata, stamp: Math.random() },由于每次数据不一样,故请求后返回的数据不会缓存。  
  28. 另外也可把$.get()改成$.post(),也可解决此问题。  
  29. 一劳永逸的解决办法是设置全局参数,$.ajaxSetup({cache:false});这样设置后,基本所有的get请求jquery都会自动加上_1948838字样的附加参数,总体来说与上面的解决方法类似。  
  30. 例如:  
  31. $.get("ProvinceListByCountryIDHandler.ashx", { "cid": $drpCountry.val(), "time"new Date().getTime() }, function(data, returnStatus) {})
分享到:
评论

相关推荐

    防止jQuery ajax Load使用缓存的方法小结

    一、用法 jquery的load函数是请求另一个文件并加载到当前DOM里的调用,load方法的完整格式是:load( url, [data], [callback] )(注意没有参数是GET方式请求,有参数则是 POST方法)。 * url:是指要导入文件的地址。...

    IE下Ajax缓存问题的快速解决方法(get方式)

    折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求。百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对 其进行缓存了。网上搜了很多解决方案,一大把,下面是我认为比较全面...

    jQuery权威指南-源代码

    10.4 使用data()方法缓存数据/321 10.5 解决jQuery库与其他库的冲突/326 10.5.1 jQuery在其他库前导入/326 10.5.2 jQuery在其他库后导入/328 10.6 使用子查询优化选择器性能/330 10.7 减少对DOM元素直接操作/...

    jQuery 1.4.1 中文参考

    2.3 数据缓存 27 2.3.1 data([name]) 27 2.3.2 data(name, value) 28 2.3.3 data(obj) 29 2.3.4 removeData(name) 29 2.3.5 jQuery.data(element, key, value) 29 2.3.6 jQuery.data([element], [key]) 30 2.4 队列...

    jQuery权威指南366页完整版pdf和源码打包

    10.2 处理选择器中的不规范元素标志 10.2.1 选择器中含有特殊符号 10.2.2 选择器中含有空格符号 10.3 优化事件中的冒泡现象 10.4 使用data()方法缓存数据 10.5 解决jquery库与其他库的冲突 ...

    jquery-1.1.3 效率提高800%

    警告:如果数据类型指定为"script",那么POST自动转化为GET方法。(因为script会作为一个嵌入页面的script标签进行载入) $.ajax()函数返回它创建的XMLHttpRequest对象。在大部分情况下,你不需要直接操作此...

    jquery电子文档chm

    jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时...

    jQuery 1.3 API 参考文档中文版 html

    * load 的data参数在jQuery 1.3中也可以接受String + ajax的error回调的第二个参数可能值"timeout", "error", "notmodified" 和 "parsererror" + ajax参数xhr * animate 的duration为0的问题 * show, hide, toggle, ...

    jQuery1.3API参考文档中文版

    * load 的data参数在jQuery 1.3中也可以接受String + ajax的error回调的第二个参数可能值"timeout", "error", "notmodified" 和 "parsererror" + ajax参数xhr * animate 的duration为0的问题 * show, hide, toggle, ...

    jquery1.11.0手册

    数据缓存 data([key],[value]) removeData([name|list])1.7* $.data(ele,[key],[val])1.8- 队列控制 queue(e,[q]) dequeue([queueName]) clearQueue([queueName]) 插件机制 jQuery.fn.extend(object) ...

    Jquery Ajax的Get方式时需要注意URL地方

    提示:我们要时刻注意浏览器缓存, 当使用GET方式时要添加时间戳参数 (net Date()).getTime() 来保证每次发送的URL不同, 可以避免浏览器缓存. 提示: 当在url参数后面添加了一个空格, 比如” “的时候, 会出现”无法...

    Jquery 1.3 简体中文手册

    数据缓存 data(name , [value]) removeData(name) queue(name ,[cb|queue]) dequeue(name) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([extreme]) 属性 属性 attr...

    JQuery 1.3 中文参考手册

    数据缓存 data(name , [value]) removeData(name) queue(name ,[cb|queue]) dequeue(name) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([extreme]) 属性 属性 attr...

    jquery帮助文档

    * 核心&gt;数据缓存&gt; 第三部分应该 "removeDate(name)" * 修改date(name)里的代码注释一个小错误 2008-06-11 19:26:37 +0800 * toggle保持与官网同步 2008-05-29 16:36:07 +0800 + 核心 部分 数据缓存 + 工具inArray...

    jQuery1.4 API

    get(index) index(subject) 数据缓存 data([name] , [value]) data(obj) removeData(name) $.data([el], [key], [val]) 队列控制 queue(name ,[cb|queue]) dequeue(name) clearQueue([queueName]) 插件机制 jQuery....

Global site tag (gtag.js) - Google Analytics