ホームページ > 記事 > ウェブフロントエンド > Ajaxキャッシュを無効にしてprogram_javascriptスキルの最新データを取得する方法
今日、プロジェクトに取り組んでいたとき、ほとんどすべての送信が 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 がこのステートメントを実行するため、キャッシュ
レコードを保存する必要はありません。