【发布时间】:2011-01-10 13:09:30
【问题描述】:
我正在通过 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 可以看出,这些脚本的实际浏览器请求,在查询字符串中包含一个缓存中断参数。它们看起来像:
http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.4&_=1264703589546.
加载的 html 中的其他资源(css 或图像)均未在其请求中包含缓存中断器。
发生了什么事?如何关闭此缓存断路器?
【问题讨论】:
-
顺便说一句,我们使用的是 jquery 1.3.2。
-
这是在所有浏览器中发生还是仅在 FF 中发生?您可以使用 Firebug lite 在不同的浏览器中进行测试。
-
加载肯定在IE的同一个地方被阻塞,虽然我没有具体检查请求。我去看看。
-
是的,它也在 IE 中发生。
标签: asp.net jquery asp.net-mvc ajax caching