`
- 浏览:
1037404 次
- 性别:
- 来自:
大连
-
解决jquery load,get 方法缓存数据问题
- 当jquery load 一个页面时候 只加载一次 解决方法有俩种
- 1jQuery提供一个防止ajax使用缓存的方法,
- <script type="text/javascript" language="javascript">
- $.ajaxSetup ({
- cache: false
- });
- </script>
- 这个方法在每次load页面的时候都要执行一次 否则只会再第一次时候有效 其他load 还会读取缓存页面
- 2 第二就是修改load 加载的url地址
- 例如 再url 多加个时间参数就可以 这个方法再wap1.0 中 我也用过避免读取缓存
-
- 还有就是之前查到的其他两种办法,针对该问题,不起作用:
- 1、设置html的缓存
- <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
- <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
- <META HTTP-EQUIV="Expires" CONTENT="0">
- 2、java设置缓存
- <%
- request.setAttribute("decorator", "none");
- response.setHeader("Cache-Control","no-cache");
- response.setHeader("Pragma","no-cache");
- response.setDateHeader ("Expires", 0);
- %><pre name="code" class="java">Jquery $.get方法缓存问题
-
- 在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。
- 要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现:
- 在$.get()的data后面加上新的随机参数,如{data: mydata, stamp: Math.random() },由于每次数据不一样,故请求后返回的数据不会缓存。
- 另外也可把$.get()改成$.post(),也可解决此问题。
- 一劳永逸的解决办法是设置全局参数,$.ajaxSetup({cache:false});这样设置后,基本所有的get请求jquery都会自动加上_1948838字样的附加参数,总体来说与上面的解决方法类似。
- 例如:
- $.get("ProvinceListByCountryIDHandler.ashx", { "cid": $drpCountry.val(), "time": new Date().getTime() }, function(data, returnStatus) {})
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
一、用法 jquery的load函数是请求另一个文件并加载到当前DOM里的调用,load方法的完整格式是:load( url, [data], [callback] )(注意没有参数是GET方式请求,有参数则是 POST方法)。 * url:是指要导入文件的地址。...
折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求。百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对 其进行缓存了。网上搜了很多解决方案,一大把,下面是我认为比较全面...
10.4 使用data()方法缓存数据/321 10.5 解决jQuery库与其他库的冲突/326 10.5.1 jQuery在其他库前导入/326 10.5.2 jQuery在其他库后导入/328 10.6 使用子查询优化选择器性能/330 10.7 减少对DOM元素直接操作/...
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 队列...
10.2 处理选择器中的不规范元素标志 10.2.1 选择器中含有特殊符号 10.2.2 选择器中含有空格符号 10.3 优化事件中的冒泡现象 10.4 使用data()方法缓存数据 10.5 解决jquery库与其他库的冲突 ...
警告:如果数据类型指定为"script",那么POST自动转化为GET方法。(因为script会作为一个嵌入页面的script标签进行载入) $.ajax()函数返回它创建的XMLHttpRequest对象。在大部分情况下,你不需要直接操作此...
jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时...
* load 的data参数在jQuery 1.3中也可以接受String + ajax的error回调的第二个参数可能值"timeout", "error", "notmodified" 和 "parsererror" + ajax参数xhr * animate 的duration为0的问题 * show, hide, toggle, ...
* load 的data参数在jQuery 1.3中也可以接受String + ajax的error回调的第二个参数可能值"timeout", "error", "notmodified" 和 "parsererror" + ajax参数xhr * animate 的duration为0的问题 * show, hide, toggle, ...
数据缓存 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) ...
提示:我们要时刻注意浏览器缓存, 当使用GET方式时要添加时间戳参数 (net Date()).getTime() 来保证每次发送的URL不同, 可以避免浏览器缓存. 提示: 当在url参数后面添加了一个空格, 比如” “的时候, 会出现”无法...
数据缓存 data(name , [value]) removeData(name) queue(name ,[cb|queue]) dequeue(name) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([extreme]) 属性 属性 attr...
数据缓存 data(name , [value]) removeData(name) queue(name ,[cb|queue]) dequeue(name) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([extreme]) 属性 属性 attr...
* 核心>数据缓存> 第三部分应该 "removeDate(name)" * 修改date(name)里的代码注释一个小错误 2008-06-11 19:26:37 +0800 * toggle保持与官网同步 2008-05-29 16:36:07 +0800 + 核心 部分 数据缓存 + 工具inArray...
get(index) index(subject) 数据缓存 data([name] , [value]) data(obj) removeData(name) $.data([el], [key], [val]) 队列控制 queue(name ,[cb|queue]) dequeue(name) clearQueue([queueName]) 插件机制 jQuery....