jQuery(或者可能是浏览器)是缓存ajax加载的脚本

我正在使用jQuery通过$.ajax()调用加载一个视图页面。 我明确地将“cache”选项设置为true。 在应用程序中没有任何地方我们使用$.ajaxSetup()来指定其他方式。

这是ajax请求设置:

 $(".viewDialogLink").click(function() { $.ajax({ url: $(this).attr("href"), dataType: "html", type: "GET", cache: true, success: function(data) { $("#dlgViews").html(data).dialog("open"); } }); return false; }); 

响应成功回复。 对话框打开,显示一些内容。

然而

返回的html中有脚本标记。 例如:

  

现在 – 在响应文本中,这些看起来很正常。 但是,从FireBug看到的实际浏览器对这些脚本的请求包括查询字符串中的cache-breaker参数 。 他们看着像是:

http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.4&_=1264703589546

加载的html-css或images中的其他资源都不包含其请求中的缓存断开器。

到底是怎么回事? 如何关闭此缓存断路器?

我能够在我的测试服务器上复制你的问题。 然后我从jquery 1.3.2更改为1.4.1。 使用Jquery 1.4.1时,它不会添加缓存中断字符串。

   

当然,使用1.4.1可能不适合您。