Chromeブラウザ用の拡張機能を作成しています(後でFirefoxに移植することを希望します)。この拡張機能は、XMLHttpRequestを介してXMLファイルである私のサーバーから構成ファイルをダウンロードします。私が見つけたのは、ファイルを一度ダウンロードし、その後のすべての呼び出しが単にファイルのキャッシュされたオリジナルバージョンを使用しているようだということです。サーバー上のファイルを変更するかどうかは関係ありません。XMLHttpRequest()経由でダウンロードしたときにキャッシュされたデータを避けるには
私はあなたが
xmlhttp.setRequestHeader( 'プラグマ'、 'のCache-Control:キャッシュなし')を試みることができることを読んで。
と私はこれをやったが、それは何か違いはないようです。私が新しいファイルを入手する唯一の方法は、ブラウザのキャッシュを削除することだと思われます。これは明らかに成長するユーザーのための解決策ではありません。
これは私が最初に経験する人ではないように思えます - そのようなキャッシングルールはこれを簡単に避けることのできないポリシーとして守っているようですが、私の質問は、より良いデザインは何ですか?私が知らないベストプラクティスはありますか?私は何とかして引っ張ってくるのではなく、押すべきだろうか?
を持っている場合でも「_timeを追加する必要はありません'、あなたはちょうど 'url + ='を実行できますか? ' +(新しいDate())。getTime() ' – Midas
@Midasはい。好きなようにパラメータを呼び出すことができます(まだ存在しない限り)。私はちょうどいくつかのsysadminがApacheログで混乱しているのをうれしく思います! – lonesomeday
jQueryのajaxライブラリでは、 "no cache"を強制する変数paramの名前として_(アンダースコア)を使用しています。 http://stackoverflow.com/questions/168963/stop-jquery-load-response-from-being-cached/168977#168977を参照してください。 – Cheeso