现在有一个连接,点击后显示隐藏的DIV,DIV中有从后台抽取的数据.
打开IE后的第一次点击,正常工作.
可是第二次就不走后台了,直接显示了DIV和上次抽取的数据.
关掉IE再打开就又可以点一次,感觉是不是IE缓存的问题?请高手指点!
JS部分用了prototype.前台框架是struts2.var params = Form.serialize($('thisForm'));
var url = "thisFormAction.action";
        
var printSelect = new Ajax.Request(
    url,
    {method: "get",
     parameters: params,
     onComplete: fillSelect
    }
);
//下面这段是得到返回的XML,感觉很不好,有什么其它好点的方法么?
var objXml = originalRequest.responseText;
var myDocument = new ActiveXObject("Microsoft.XMLDOM") 
myDocument.async="false";
myDocument.loadXML(objXml);//其它操作$("divId").style.display = "block";

解决方案 »

  1.   

    可以在请求url的后面加上无意义随机字符,以迫使浏览器重新向服务器请求资源
      

  2.   


    var d=new date();
    原因大概就是这个  url=x.aspx?id=1&d=d.getTime()
      

  3.   

    果然加上个随机字符就可以了, 谢谢楼上两位了.
    那这个是什么原因呢? 请求一样的话, AJAX就不会再次发送请求了?PS:等下就结贴哈.
      

  4.   

    是缓存
    所以要使用随机传参或时间
    xxxx.aspx?rd.next(50)
      

  5.   

    缓存问题,  一般处理办法为URL+ '&t=' +new Date().getTime();