ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxキャッシュを無効にしてprogram_javascriptスキルの最新データを取得する方法

Ajaxキャッシュを無効にしてprogram_javascriptスキルの最新データを取得する方法

WBOY
WBOYオリジナル
2016-05-16 17:14:171125ブラウズ

今日、プロジェクトに取り組んでいたとき、ほとんどすべての送信が ajax 経由で送信されたため、テストしたところ、各送信後に取得されるデータはバックグラウンド コードの問題を排除できることがわかりました。フロントデスクがあるはずです。キャッシュをクリアするたびに新しいデータが取得されるため、最終的にはブラウザのキャッシュの問題です。長い間悩んだ結果、ようやく解決したのでここにまとめておきます。

ajax によってページの読み込み速度が向上する主な理由は、ajax による重複データの読み込みを減らすことであることは誰もが知っています。つまり、データは一度データを読み込みながらメモリにキャッシュされます。ロード中、ページを更新しない限り、データは常にメモリにキャッシュされます。送信した URL が過去の URL と一致する場合、サーバーに送信する必要はありません。 , サーバーからデータを取得する必要がなくなり、サーバーの負荷が軽減され、ユーザーエクスペリエンスが向上しますが、最新のデータを取得することはできません。読み取った情報が最新であることを確認するには、キャッシュ機能を無効にする必要があります。

解決策は次のとおりです。

1. ajax リクエストを送信する前に、anyAjaxObj.setRequestHeader("If-Modified-Since", "0") を追加します。

2. ajax リクエストを送信する前に、anyAjaxObj.setRequestHeader("Cache-Control", "no-cache") を追加します。

3. URL の後に「fresh= Math.random();」という乱数を追加します。

4. URL の後に時間を追加します:「nowtime= new Date().getTime();」。

5. jQuery を使用している場合は、$.ajaxSetup({cache:false}) を実行するだけです。この方法では、ページ上のすべての ajax がこのステートメントを実行するため、キャッシュ

レコードを保存する必要はありません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。