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
});

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

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...