症状:在ie浏览器中,当通过ajax方式第二次取某个页面时,得到的不是新页面,而是第一次取的旧页面。
原因:ie浏览器在第一次取得页面后,会将其内容缓存起来。以后再申请得到这个页面时,ie浏览器会直接调用缓存中的页面内容,而不会重新向服务器发送请求。
要想得到新数据,可以在send函数执行之前加一句,如下:
XMLHttp_object.setRequestHeader("If-Modified-Since","0");
XMLHttp_object.send(null);
注释:这种问题只会出现在ie浏览器中,因为它默认情况下会“缓存数据”。firefox下始终得到新数据,因为它不“缓存数据”。