ajax 缓存
当jqueryload一个页面时候只加载一次解决方法有俩种
1jQuery提供一个防止ajax使用缓存的方法,
<!--
<scripttype="text/javascript"language="javascript">
$.ajaxSetup({
cache:false//closeAJAXcache
});
</script>
-->
这个方法在每次load页面的时候都要执行一次否则只会再第一次时候有效其他load还会读取缓存页面
2第二就是修改load加载的url地址
例如再url多加个时间参数就可以这个方法再wap1.0中我也用过避免读取缓存
<!--
functionloadEventInfoPage(eventId){
$.ajaxSetup({
cache:true//AJAXcache下面加上时间后load的页面中的js、css图片等都会重新加载,
//加上这句action会重新加载,但是js、css、图片等会走缓存
});
$("#showEventInfo").load(ctx+"/custEvents/viewEvent.action",
{"complaint.Id":eventId,"tt":(newDate()).getTime()},function(){})
}
jsp页面中的下面两句中,把第一句去掉,第二句去掉no-cache,这样就会读取缓存中的js、css、图片等,Firebug网络中js、css、图片等的每一个请求的状态就会从200(不读缓存,重新请求)变成了304(读缓存中的数据)
<metahttp-equiv="pragma"content="no-cache"/>
<metahttp-equiv="content-type"content="no-cache,must-revalidate"/>
发现在IE浏览器下,还是把js放在<head>内会更理想,$.ajaxSetup对IE看起来没有效果或效果不大,而放在<head>内,只是初次访问页面时会稍微卡一下,二次访问就不影响了。
-->
还有就是之前查到的其他两种办法,针对该问题,不起作用:
1、设置html的缓存
<!--
<METAHTTP-EQUIV="Pragma"CONTENT="no-cache">
<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache">
<METAHTTP-EQUIV="Expires"CONTENT="0">
-->
2、java设置缓存
<!--
<%
request.setAttribute("decorator","none");
response.setHeader("Cache-Control","no-cache");//HTTP1.1
response.setHeader("Pragma","no-cache");//HTTP1.0
response.setDateHeader("Expires",0);//preventscachingattheproxyserver
%>
-->
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo