`
Odysseus_110
  • 浏览: 117084 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

$.getJSON 缓存

阅读更多

使用jQuery的$.getJSON函数似乎是做了缓存处理,比如struts中有一个action是输出的json格式的数据,action路径是getsyncpath:



 function getResult(){
 		$.getJSON( getsyncpath,null,function call(data){
		    var flag_sync = data.result;
		    alert(flag_sync);
		    if(flag_sync == true) {
		     	$("#waitdiv").hide();
				$("#main").show('slow');
		    }else {
		    	setTimeout(function() { getResult() }, interval_getSyncflag);
		    }
    	});
 }
 

   这里不管是用循环还是setTimeout 还是setInterval  getResult函数都只执行一次,alert(flag_sync) 每次都会弹出,但是不执行getsyncpath 里的 action,在action中跟踪输出可以看出action根本没有被调用,即使数据库的数值变化了jQuery也不调用action。只有在另外一张网页直接打开getsyncpath 的json输出并且刷新输出 这里的网页才会再次调用action。
   解决办法:在getsyncpath 连接后面加上一个时间戳,加一个参数&time=new Date();这样每次生成的链接都不同了,就避免了缓存的情况。
分享到:
评论
7 楼 Odysseus_110 2012-06-27  
terryang 写道
lz加上时间也不太合适,刷新太快的话还是有出不来的可能。所以加一个
+"&time="+Math.random()

就好了,狂刷 没事

嗯嗯,你这个方法 更好些...
6 楼 ll.james 2012-06-21  
5楼的,真管用
通知公告模块
A.通知公告的类型没有实现控制
B.通知公告的审批都只支持一条,查看反馈,或是提出撤销申请的时候也是支持一条。(ok)
C.通知公告审核人点击审核时,弹出为通知的具体内容,底下为意见栏和审批的按钮。(ok)
D.系统中如果是两个级别的流程,统一名为上报,审核,不应该有些模块出现审批字眼,原型中不一定都对,有疑问的提出来。(ok)
E.点击撤销,也弹出通知的具体内容,只是添加两栏,一栏为提出人,系统自动加载,一栏为撤销原因。(ok)


对于通知公告发送上报,或者是撤销上报给审核人,审核人都有权限修改通知公告,在审核查看时不要设置为只读,因为有可能需要修改。
                                                   能需要修改
5 楼 terryang 2010-07-28  
lz加上时间也不太合适,刷新太快的话还是有出不来的可能。所以加一个
+"&time="+Math.random()

就好了,狂刷 没事
4 楼 taoj555 2010-06-25  
$.ajaxSetup({ cache: false }); 这个是最简单有效的解决办法
3 楼 xujunJ2EE 2009-12-30  
可以在json参数中加入一个时间戳
2 楼 Odysseus_110 2009-12-11  
xujunJ2EE 写道
你这样只能用在不传json参数上,如果是传递json参数,那么jquery会忽视你在url后面加的时间戳,而是用json参数组成url的参数来代替你的时间戳,结果还是缓存

恩,对,getsyncpath只是请求一个action然后得到json数据,没有要传递json数据,如果照你说的这样,有什么好的办法解决吗?
1 楼 xujunJ2EE 2009-12-11  
你这样只能用在不传json参数上,如果是传递json参数,那么jquery会忽视你在url后面加的时间戳,而是用json参数组成url的参数来代替你的时间戳,结果还是缓存

相关推荐

    $.getJSON在IE下失效的原因分析及解决方法

    $.getJSON(“/MyQueryUrl”,function(data,item) { // do stuff with callback data $.ajaxSetup({ cache: true }); }); 原因:getJson在IE下IE下默认会使用浏览器缓存,所以导致数据不显示 解决:让其不要使用缓存...

    Jquery $.getJSON 在IE下的缓存问题解决方法

    Jquery 的 $.getJSON请求有一个缓存机制 就是在请求相同URL访问后台时候 他会直接从页面缓存的数据中取出来数据 而不是请求后台 所以我们要改变一个URL 这是我们的URL var url =“XXXX/XXX” 下面来一个 生成随机数...

    ie下jquery.getJSON的缓存问题的处理方法

    $.getJSON()存在缓存问题,如果其调用的url之前曾经调用过的话,回调函数就会直接在缓存里取得想要得值,而不是进入到后台 解决方法如下: 1、让每次调用的URL都不一样。 方法:在参数中加一个随机数 代码如下:$....

    .net C# 学习过程中收藏的一些比较有用的和感兴趣的链接

    http://wenku.baidu.com/view/3d2b01a93169a4517723a3f3.html Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结 http://zhuanlan.zhihu.com/FrontendMagazine/19854868 基于单个 Div 的 CSS 绘图 ...

    jQuery1.4 API

    [queueName]) 设置 jQuery.fx.off Ajax Ajax 请求 $.ajax([options]) load(url, [data], [callback]) $.get(url, [data], [fn], [type]) $.getJSON(url, [data], [fn]) $.getScript(url, [callback]) $.post(url, ...

    Jquery 1.3 简体中文手册

    $.getJSON(url, [data], [fn]) $.getScript(url, [callback]) $.post(url, [data], [fn], [type]) Ajax 事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop...

    jquery1.11.0手册

    $.getJSON(url,[data],[fn]) $.getScript(url,[callback]) $.post(url,[data],[fn],[type]) ajax 事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop...

    JQuery 1.3 中文参考手册

    $.getJSON(url, [data], [fn]) $.getScript(url, [callback]) $.post(url, [data], [fn], [type]) Ajax 事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop...

    IE9下Ajax无法刷新数据的缓存问题解决方法

    $.getJSON(webApp + "/GetShowData.do?limit=" + limit,function(data){  //****************** } 原因是,在IE9下,进行Ajax请求时,若与之前请求相同,则不会再从浏览器获取数据,而是直接从本地获取,因此,在...

    jquery-1.1.3 效率提高800%

    $.ajax({ type: "GET", url: "test.js", dataType: "script" });保存数据到服务器,完成后通知用户。 $.ajax({ type: "POST", url: "some.php", data: "name=John&location=...

    JS组件Bootstrap Table使用方法详解

    cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: false, //是否启用排序 sortOrder: "asc", //排序方式 query...

    MikroServer:支持Quasar光纤的快速,轻松,轻巧和可嵌入的Java Web服务器

    1.特点具有缓存支持的快速文件服务器全面的HTTP 1.1支持(GET / POST) 反向代理带有Gson库的JSON支持2.如何建造为了构建和运行,首先克隆项目: $ git clone https://gitlab.com/kasra.sh13/mikroserver.git 然后...

    一个简单JS缓存数据类

    这是一个用于缓存JS对象像(JSON,数组)都可以的一个小工具,在开发项目过程中,会比较实用。 JS对数据做缓存,应用场景,有的时候通过ajax去获取一些不是经常变动数据的时候,不用每次去请求,直接进缓存 1. 将数据...

Global site tag (gtag.js) - Google Analytics