IE8/IE9 での Ajax キャッシュの問題
この記事は、IE8/IE9 での Ajax キャッシュの問題の解決策を紹介します。非常に優れているので、興味のある方は一緒に読んでください。
AJAX とは、「非同期」を意味します。 「JavaScript と XML」 (Asynchronous JavaScript and XML) は、インタラクティブな Web アプリケーションを作成するための Web 開発テクノロジを指します。 AJAX = 非同期 JavaScript および XML (標準ユニバーサル マークアップ言語のサブセット)。
AJAX は、高速で動的な Web ページを作成するためのテクノロジーです。
AJAX を使用すると、バックグラウンドでサーバーと少量のデータを交換することで、Web ページを非同期に更新できます。これは、ページ全体を再読み込みしなくても、Web ページの一部を更新できることを意味します。
本題:
最近、フロントエンドでjqueryを使用して、Webサイトのログイン登録ボックスを作成しています。サインとログインは別のページにないため、ポップアップ ボックスとして表示されます。そこで、ajax を使用して登録とログイン機能を実装することにしました。順風満帆かと思いきや、テスト中に奇妙な問題が発覚。 chrome、ff、IE10+でテストする場合は基本的に問題ないのですが、IE8,9で実行すると、正しいユーザー名とパスワードを入力してもログインできないようです。最初、私はセッションが失われたと思い、背景のフレームワークについて文句を言い始めました。
しかし、辛抱強くデバッグを続けた結果、セッションは失われていないことがわかりました。今とても心配していますが、長期間使用しているのに登録やログインさえできない可能性がありますか?そのため、私は自分自身を卑下し、人生のさまざまな変化や物事の無常を嘆くようになります。 1/3ほどお香を焚いた後、元気を出すことにしました。
いくつかのコメントを付けてコードを注意深く観察したところ、$.ajax の URL が少し奇妙であることがわかりました。アドレスは正しいですが、プログラマーと包囲ライオンの直観により、IE8 と 9 の 2 つの兄弟が独自に私の ajax をキャッシュした可能性があることが分かりました。そう思うと急に手が震えて、慌ててURLの後にタイムスタンプを追加しました。
//就像这样url:myurl+"?t="+(new Date).valueOf()
次に、キャッシュをクリアして再試行すると、成功します。普通にログインできます。
Baiduで調べてみたところ、IE8 9ではAjaxリクエストを行う際、前回のリクエストと同じであればサーバーからデータを取得するのではなく、ローカルで直接データを取得するようになっています。
このように、下位バージョンのIEの過剰な熱意に対処するために、$.ajaxを使用する場合、そのcache属性をfalse(テストされていません)に設定できます、
cache:
Boolean型パラメータが必要です、デフォルトは true (dataType が script の場合、デフォルトは false)、false に設定すると、ブラウザーのキャッシュからリクエスト情報が読み込まれません。
またはグローバルに設定します(テストされていません)
//$.ajaxSetup() 方法设置全局 AJAX 默认选项。$.ajaxSetup({ cache: false });
これにより、もうキャッシュについて心配する必要がなくなります。
でも、結局、迷惑をかけるようなキャッシュの設定はされていないので、他のブラウザでは普通に使えます。そのため、IE8 9ではキャッシュ内の情報を無効にする設定を別途行う必要があります。
//jquery 1.9.0后取消了$.browserif($.browser.msie&&($.browser.version=="8.0"||$.browser.version=="9.0")){ //做处理 }
1.9.0以降は、$.supportを使って判断することができます
// IE6789,input元素的checked属性不能被拷贝// IE下,input被更换类型后,无法保持前一个类型所设的值if(!$.support.radioValue&&!$.support.noCloneChecked){ //做处理 }
以上、皆さんの参考になれば幸いです。
関連記事:
AjaxアクセスでIE8が毎回更新できない問題AjaxがRestfulインターフェースを呼び出してJson形式のデータを送信する方法(コード付き)
Boaサーバー配下のAjaxとCGI通信(画像とテキストのチュートリアル)
以上がIE8/IE9 での Ajax キャッシュの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

PHP と Ajax を使用してオートコンプリート候補エンジンを構築します。 サーバー側スクリプト: Ajax リクエストを処理し、候補を返します (autocomplete.php)。クライアント スクリプト: Ajax リクエストを送信し、提案を表示します (autocomplete.js)。実際のケース: HTML ページにスクリプトを組み込み、検索入力要素の識別子を指定します。
