を無視していると私はXHRリクエストを行うたびに、私は要求を置く次のヘッダーを取得していることに気づい:はjQueryのXmlHttpRequestののCache-Control私はGoogleのクロムを使用してい
Cache-Control: no-cache
Pragma: no-cache
あなたがで仕様を読めばhttp://www.w3.org/TR/XMLHttpRequest/それは、ユーザエージェントはHTTPキャッシュを実装している場合、それは作者のリクエストヘッダに(: ノーキャッシュキャッシュをバイパスしていないなどのCache-Control)を のCache-Controlヘッダを尊重する必要があり、次の
言います。エンドユーザが明示的に(ページをリロードするなどして)そのような動作を に要求しない限り、Cache-ControlまたはPragma リクエストヘッダを自動的に送信してはなりません。
まあ、私は次のことをしようとしている:
$.ajax(myUrl, {
type: 'get',
dataType: 'json'
cache: true,
headers: {
'Cache-Control': 'max-age=200'
}
})
あなたは私が明示的に私のリソースのキャッシュされたコピーを得ることを期待してのCache-Controlヘッダを設定しています見ることができるように。さて、ChromeはCache-Controlヘッダーを無視しているようです。
XHRリクエストを行うときにCache-Control: no-cache
ヘッダーを送信できないことはありますか?
はい、Firebugには "Net"メニューの "Disable Browser Cache"もあります。私もこれに噛まれてしまった。 – harpo
キャッシュコントロールヘッダーがサーバーによって正しく設定されていても、ネイティブfetch()がキャッシュからデータを返さない理由を調べようとしています。この見落としを修正するのを手伝ってくれてありがとう、それは私を怒らせていました。 –
私はこれを追跡するのにとても長い時間をかけました。ありがとうございました! –