2012-04-25 8 views
0

IEでキャッシュされているajaxコールが不思議ですが、FFで正しく動作しています。なぜどんなアイデア?AjaxはIE 8/9でキャッシュされたページをプルしますが、FFでうまく動作します

function createRequestObject(){ 
    var req; 
    if(window.XMLHttpRequest){ 
     //For Firefox, Safari, Opera 
     req = new XMLHttpRequest(); 
    } 
    else if(window.ActiveXObject){ 
     //For IE 5+ 
     req = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    else{ 
     //Error for an old browser 
     alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera'); 
    } 
    //alert (req); 
    return req; 
} 

//Make the XMLHttpRequest Object 
var http = createRequestObject();  

var head; 

function sendRequestTwo(method, url, head1){ 
    head = head1 
    if(method == "get" || method == "GET"){ 
     http.open(method,url); 
     http.onreadystatechange = handleResponseTwo; 
     http.send(null); 
      } 
} 

function handleResponseTwo(){ 
    if(http.readyState == 4 && http.status == 200){ 
     var response = http.responseText; 
     if(response){ 
      document.getElementById(head).innerHTML = response; 
      //window.scrollBy(0, 200); 
     } 
    }  
} 
+3

URIを要求するタイムスタンプを追加します。または、jQueryを使用すると、そこにあるすべてのコードを2行または3行に削除することができます。 – BalusC

答えて

3

私は同じ問題を抱えています。 IEは非常に積極的にキャッシュすることができます。

はあなたのURLにタイムスタンプを追加してください:

url += '?ts=' + new Date().getTime(); 
1

IEキャッシュajaxを積極的に実行する - 日付やそれ以外の何かが発生しないようにするために、ユニークなクエリ文字列を追加します。

関連する問題