XMLHttpRequestでGETした取得結果が変わらない

こんばんは。きわさです。

下記のようにXMLHttpRequestでGETして、test.phpの内容を変えても取得結果が変わりませんでした。そんなときの対処法の備忘録です。

var xhr = new XMLHttpRequest();
xhr.open('GET', './test.php', true);
xhr.onreadystatechange = function() {
    if(xhr.readyState == 4) {
        var response = xhr.responseText;
    }
};
xhr.send(null);

取得結果が変わらない、どうやらキャッシュが原因のようでした。
なのでキャッシュを無効にします。
リクエスト送信のときに下記のヘッダをつけてやる必要があるようです。

xhr.setRequestHeader('Pragma', 'no-cache'); 
xhr.setRequestHeader('Cache-Control', 'no-cache'); 
xhr.setRequestHeader('If-Modified-Since', 'Thu, 01 Jun 1970 00:00:00 GMT'); 

これにはしばらくハマりました。
覚えておきます。

スポンサーリンク