Asp.net jQuery(或者浏览器)是破坏缓存的ajax加载脚本
我正在通过jQuery的Asp.net jQuery(或者浏览器)是破坏缓存的ajax加载脚本,asp.net,jquery,asp.net-mvc,ajax,caching,Asp.net,Jquery,Asp.net Mvc,Ajax,Caching,我正在通过jQuery的$.ajax()调用加载一个视图页面。我显式地将“缓存”选项设置为true。在应用程序中,我们没有使用$.ajaxSetup()来指定其他内容 以下是ajax请求设置: $(".viewDialogLink").click(function() { $.ajax({ url: $(this).attr("href"), dataType: "html", type: "GET", cache: tru
$.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或图像)在其请求中包含缓存断路器
发生了什么事?如何关闭此缓存断路器?我可以在测试服务器上复制您的问题。然后,我将jQuery1.3.2更改为1.4.1。对于jQuery1.4.1,它不会添加缓存中断字符串
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
当然,使用1.4.1可能不是您的选择。顺便问一下,我们使用的是jquery 1.3.2。这是在所有浏览器中都发生的还是仅在FF中发生的?你可以使用Firebug lite在不同的浏览器中进行测试。虽然我没有具体检查请求,但在IE的同一个地方加载肯定会被阻止。我去看看。是的,这也发生在IE里。我们现在只能使用1.3.2,但我们还处于开发周期的早期——也许jQueryUI很快就会与1.4兼容,我们可以升级。感谢您的测试,非常感谢!