我正在使用jQuery通过$.ajax()
调用加载一个视图页面。我明确地将“缓存”选项设置为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中有脚本标记。例如:
<script type="text/javascript" src="http://../jsapi/arcgis/?v=1.4"></script>
现在 - 在响应文本中,这些看起来很正常。但是,从FireBug,看到的实际浏览器对这些脚本的请求包括查询字符串中的cache-breaker参数。他们看起来像:
http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.4&_=1264703589546
。
加载的html-css或图像中没有其他资源 - 在请求中包含缓存断开器。
发生了什么事?如何关闭此缓存断路器?
答案 0 :(得分:3)
我能够在我的测试服务器上复制您的问题。然后我从jquery 1.3.2更改为1.4.1。使用Jquery 1.4.1时,它不会添加缓存中断字符串。
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
当然,使用1.4.1可能不适合你。