IE7/IE8缓存问题


使用ajax删除页面上的记录时,会有这种情况出现:第一次删除操作后,将光标定位在地址栏中,回车,页面正常显示(删除的记录消失),当我们再次删除其他记录时,地址栏回车,此时,删除的记录又会重现。这就是IE缓存在作怪。


大致有两种解决方案:


1、给ajax请求添加随机数,如:  


      new Ajax.Request('/common/inputphrase/inputPhraseDelete.html',
{
        method: 'post',
        parameters: "参数名=" + 参数值 + "&time="
+ new Date().getMillisecond() ,       evalScripts: true,
      };


     parameters选项的后半部分( "&time="+ new Date().getMillisecond() )就是随机数,还可用
Math.random()获得随机数。


2、在页面的<head>元素中添加:


       <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
       <META
HTTP-EQUIV="Expires" CONTENT="-1">


在IE8中我的结论是只使用第一种解决方案不可行(原因好像是IE8对于Ajax就需要随机数),单独使用第二种解决方案可行。安全起见我的意见是两种方案都使用。

原文地址:https://www.cnblogs.com/pansly/p/2093741.html