私の Web サイトでは、すべてのページが html と json を返すことができます。リクエストが通常の場合、ページは html を返し、リクエストが AJAX の場合、ページは json を返します。
問題は、json 応答が必要なときに、Firefox が html 応答をキャッシュすることです。どちらの場合も、キャッシュなしオプションを含む応答ヘッダー
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection Keep-Alive
Date Sat, 13 Apr 2013 08:31:06 GMT
Expires Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive timeout=5, max=100
Pragma no-cache
これは私がAJAXリクエストを行う方法です:
$.ajax({
url: window.location.href,
dataType: 'json',
//cache: false,
success: function(data) {
// here I get html, (must be json)
// If I set "cache: false" then all is ok
}
});
この問題は Firefox にあります。クロムではすべて問題ありません
今いるページでリクエストを送っているからだと思います。たとえば、 window.location.href で url を変更した場合。'?a=1' で、既に window.location.href ページにいる場合。'?a=1' AJAX は、必要な方法で json を返します。