ก็เป็นปัญหาของ IE เจ้าเดิมแหละ แต่อันนี้ผมชอบของ IE แฮะ ก็มันตรง concept ของ AJAX ดีนะ

เนื่องจาก IE นั้นมีความสามารถที่จะไปเรียก cache ที่เคยมีการร้องขอ(request) ไว้แล้วได้เลย โดยไม่ต้องติดต่อกับ server

จนหลายคนมักบ่นกันว่า ทำไมข้อมูลที่แสดงขึ้นมา มันยังไม่ update สักทีทั้ง ๆ ที่เพิ่งเพิ่มข้อมูลเข้าไปแล้วเห็น ๆ ในdatabase ก็มีแล้วนิ

จนต้องปิด browser แล้วเปิดขึ้นมาใหม่ 

วิธีแก้นั้นมี 2 วิธีก็คงแล้วแต่สถานะการณ์นะครับ ว่าอยากจะให้ได้ข้อมูลแบบไหน

วิธีที่ 1 คือการ set header ใ้้ห้หน้าที่ AJAX จะเรียกมาใช้ซึ่งแต่ละ ภาษานั้นก็คล้าย ๆ กัน ผมขอยกตัวอย่างสำหรับ asp และ php แล้วกันนะครับ

สำหรับ ASP
<%
Response.AddHeader "Last-Modified", Now & " GMT"
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache, must-revalidate"
Response.Expires = -1
Response.CacheControl = "no-cache"
%>

สำหรับ PHP
<?
     header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     header ("Cache-Control: no-cache, must-revalidate");
     header ("Pragma: no-cache");
?>

วิธีที่2  จะเป็นการหลอกมันด้วยการส่ง parameter ที่จะได้ค่าสุ่ม (random) หรือ ค่าวันและเวลาก็ได้ แต่ละครั้งที่มีการ request พ่วงท้ายไปด้วย 
เช่น  httpRep.open('get','./search.php?txt='+txt+'&temp='+Math.random(),'true');