我正在通过$.ajax()调用使用jQuery加载视图页面.我将“缓存”选项明确设置为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\u0026amp;__=1264703589546.
所加载的html中的其他资源(css或图像)均未在其请求中包含缓存破坏符.
到底是怎么回事?如何关闭此缓存断路器?
最佳答案
我能够在我的测试服务器上复制您的问题.然后,我从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可能不是您的选择.