微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 如何防止缓存.NET JSON提要

我创建了简单的.aspx页面,它在数据库查询一些实时数据,然后返回一个 JSONP(或者最后一个类似 JSONP的)Content-Type application / json的Feed;字符集= utf-8的

这是输出的格式,或多或少:

jsonp1307643489579([
  ["12345","Text Here","99999","More Text Here","True","False","7/31","1"...],["12345","More Text There",...]
]

然后是一个JQuery .getJSON调用

var url = "myURL.aspx?id=123&callBack=?";
$.getJSON(url,null,function(msg) { etc etc.

这一切都很好,除了以下.在我的开发环境和本地服务器上,每次都会重新生成新数据.但是在生产Web服务器上,数据顽固地缓存,直到我回收IIS应用程序池(!)

我试过的一些事情没有成功.

1 / cache:ajaxSetup中的false不起作用.

2 /关闭web.config中的输出缓存.

2a / OutputCache Location =“无”在aspx页面声明中没有这样做.

3 /在.getJSON(url)调用添加随机唯一查询字符串数据.看看我们如何为每个电话追加一个独特的回调参数,我想这无论如何都已经发生了.

知道为什么我的Web服务器持有这些缓存的应用程序/ JSON文件

编辑:我正在查看从Web服务器下来的实际.aspx源,并将它们缓存在那里.所以据我所知,这是一个Web服务器缓存问题,不一定是JQUERY缓存问题.

解决方法

在进行任何getJSON调用之前,请使用以下命令:

jQuery.ajaxSetup({
   cache: false
});

昨天我和同样的问题争了半个小时.我不确定为什么手动添加随机查询字符串不起作用,但这解决了我的问题.在我添加上面的常规设置之前,缓存命中是完全随机的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐