ホームページ ウェブフロントエンド jsチュートリアル IE での Ajax キャッシュ問題の迅速な解決策 (メソッドの取得)_JavaScript スキル

IE での Ajax キャッシュ問題の迅速な解決策 (メソッドの取得)_JavaScript スキル

May 16, 2016 pm 05:04 PM
ajax ie キャッシュ

長い間苦労した後、プログラムはjqueryのloadメソッドを使用してリクエストを送信します。なぜ2回目のリクエストが送信できないのか不思議です。 Baidu で少し調べましたが、get メソッドを使用してロードが要求されるとは知りませんでした。そのため、IE ブラウザは

に応答しません

キャッシュされています。オンラインで多くの解決策を検索しましたが、より包括的な解決策だと思うのは次のとおりです。主にクライアント側ソリューションとサーバー側ソリューションに分かれます。

1. クライアント ソリューション
IE アクセス ポリシー: インターネット オプション -- 閲覧履歴 -- 設定 -- アクセスごとにインターネット一時ファイルのオプションを変更することもできます。ウェブページで使用できます

1: AJAX リクエストされたページの後にランダム関数を追加します。ランダム時間関数

を使用できます。

JavaScript によって送信された URL の後に t=Math.random() を追加します。
例: URL "&" "t=" Math.random() または new Date();

2: XMLHttpRequest がリクエストを送信する前に XMLHttpRequest.setRequestHeader("If-Modified-Since", "0") を追加します

通常、ここでの XMLHttpRequest は直接使用されません。

次のようなコードが見つかるはずです。
XXXXX.send(YYYYYY);
それを
XXXXX.setRequestHeader ( "If-Modified-Since","0");
XXXXX.send(YYYYYY);

どちらの方法も非常に効果的であることが実践で証明されています。
1. サーバーにヘッダー ("Cache-Control: no-cache, must-revalidate") を追加します。
2. xmlHttpRequest.setRequestHeader("If -Modified-Since") を追加します。 "0");
3. Ajax でリクエストを送信する前に xmlHttpRequest.setRequestHeader("Cache-Control","no-cache"); を追加します。 Math.random(); // もちろん、ここでの fresh パラメータは任意に選択できます
5. 4 番目のメソッドは 3 番目のメソッドと似ており、URL パラメータの後に「?timestamp=」を追加します new Date().getTime( ); //このメソッドは推奨されます
6. GET の代わりに POST を使用します: 推奨されません


2. サーバー側のソリューション:
Struts2 を例に挙げます: Struts2 のサーバー側での使用法

Xml コード


コードをコピー コードは次のとおりです:<パッケージ名="json -nocache" extends="json-default">
<インターセプター>
<インターセプター名="cachingHeadersInterceptor" class="com.ssa.pct.web.interceptor.CachingHeaderInterceptor" /> ;
<インターセプタースタック名="defaultSecurityStack">
<インターセプター参照名="defaultStack" />
<インターセプター参照名="cachingHeadersInterceptor" />







Java コード


コードをコピー コードは次のとおりです。public class CachingHeaderInterceptor extends AbstractInterceptor {
プライベート静的最終ロングserialVersionUID = 1L;
public String intercept(ActionInvocation invocation) throws Exception {

ActionContext context = invocation.getInvocationContext();

HttpServletResponse response = (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE);

if (response ! = null) {
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setHeader("期限切れ", "-1");
}
return invocation.invoke();
}

}

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

Linux で DNS キャッシュを表示および更新する方法 Linux で DNS キャッシュを表示および更新する方法 Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) は、ドメイン名を対応する IP アドレスに変換するためにインターネットで使用されるシステムです。 Linux システムでは、DNS キャッシュはドメイン名と IP アドレス間のマッピング関係をローカルに保存するメカニズムです。これにより、ドメイン名解決の速度が向上し、DNS サーバーの負担が軽減されます。 DNS キャッシュを使用すると、システムはその後同じドメイン名にアクセスするときに、毎回 DNS サーバーにクエリ要求を発行する必要がなく、IP アドレスを迅速に取得できるため、ネットワークのパフォーマンスと効率が向上します。この記事では、Linux で DNS キャッシュを表示および更新する方法、関連する詳細およびサンプル コードについて説明します。 DNS キャッシュの重要性 Linux システムでは、DNS キャッシュが重要な役割を果たします。その存在

PHP APCu の高度な使用法: 隠された力を解き放つ PHP APCu の高度な使用法: 隠された力を解き放つ Mar 01, 2024 pm 09:10 PM

PHPAPCu (php キャッシュの代替) は、PHP アプリケーションを高速化するオペコード キャッシュおよびデータ キャッシュ モジュールです。その可能性を最大限に活用するには、その高度な機能を理解することが重要です。 1. バッチ操作: APCu は、多数のキーと値のペアを同時に処理できるバッチ操作メソッドを提供します。これは、大規模なキャッシュのクリアまたは更新に役立ちます。 //キャッシュキーをバッチで取得 $values=apcu_fetch(["key1","key2","key3"]); //キャッシュキーをバッチでクリア apcu_delete(["key1","key2","key3"]) ;2 .キャッシュの有効期限を設定する: APCu を使用すると、キャッシュ項目の有効期限を設定して、指定した時間が経過すると自動的に期限切れになるようにできます。

APCu のベスト プラクティス: アプリケーションの効率の向上 APCu のベスト プラクティス: アプリケーションの効率の向上 Mar 01, 2024 pm 10:58 PM

キャッシュ サイズとクリーンアップ戦略の最適化 適切なキャッシュ サイズを APCu に割り当てることが重要です。キャッシュが小さすぎるとデータを効果的にキャッシュできず、キャッシュが大きすぎるとメモリが無駄に消費されます。一般に、キャッシュ サイズを使用可能なメモリの 1/4 ~ 1/2 に設定するのが妥当な範囲です。さらに、効果的なクリーンアップ戦略を採用することで、古いデータや無効なデータがキャッシュに保持されないようにすることができます。 APCu の自動クリーニング機能を使用することも、カスタム クリーニング メカニズムを実装することもできます。サンプルコード: //キャッシュサイズを256MBに設定 apcu_add("cache_size",268435456); //60分ごとにキャッシュをクリア apcu_add("cache_ttl",60*60); 圧縮を有効にする

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

PHP 開発におけるキャッシュ メカニズムとアプリケーションの実践 PHP 開発におけるキャッシュ メカニズムとアプリケーションの実践 May 09, 2024 pm 01:30 PM

PHP 開発では、キャッシュ メカニズムにより、頻繁にアクセスされるデータがメモリまたはディスクに一時的に保存され、データベース アクセスの数が削減され、パフォーマンスが向上します。キャッシュの種類には主にメモリ、ファイル、データベース キャッシュが含まれます。キャッシュは、組み込み関数またはサードパーティのライブラリ (cache_get() や Memcache など) を使用して PHP に実装できます。一般的な実用的なアプリケーションには、データベース クエリ結果をキャッシュしてクエリ パフォーマンスを最適化したり、ページ出力をキャッシュしてレンダリングを高速化したりすることが含まれます。キャッシュ メカニズムにより、Web サイトの応答速度が効果的に向上し、ユーザー エクスペリエンスが向上し、サーバーの負荷が軽減されます。

動画ファイルをブラウザのキャッシュからローカルに保存する方法 動画ファイルをブラウザのキャッシュからローカルに保存する方法 Feb 23, 2024 pm 06:45 PM

ブラウザキャッシュビデオをエクスポートする方法 インターネットの急速な発展に伴い、ビデオは人々の日常生活に欠かせないものになりました。 Web を閲覧しているときに、保存または共有したいビデオ コンテンツに遭遇することがよくありますが、ビデオ ファイルがブラウザのキャッシュにのみ存在するため、ビデオ ファイルのソースが見つからないことがあります。では、ブラウザのキャッシュからビデオをエクスポートするにはどうすればよいでしょうか?この記事では、いくつかの一般的な方法を紹介します。まず、ブラウザキャッシュという概念を明確にする必要があります。ブラウザー キャッシュは、ユーザー エクスペリエンスを向上させるためにブラウザーによって使用されます。

jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? Feb 23, 2024 pm 04:27 PM

jQueryAJAX エラー 403 の問題を解決するにはどうすればよいですか? Web アプリケーションを開発する場合、非同期リクエストを送信するために jQuery がよく使用されます。ただし、jQueryAJAX の使用時に、サーバーによってアクセスが禁止されていることを示すエラー コード 403 が発生する場合があります。これは通常、サーバー側のセキュリティ設定が原因ですが、回避する方法があります。この記事では、jQueryAJAX エラー 403 の問題を解決する方法と具体的なコード例を紹介します。 1.作る

See all articles