ホームページ  >  記事  >  ウェブフロントエンド  >  ajax に適用できるシナリオは何ですか? ajax が適用できないシナリオにはどのようなものがありますか?

ajax に適用できるシナリオは何ですか? ajax が適用できないシナリオにはどのようなものがありますか?

寻∝梦
寻∝梦オリジナル
2018-09-10 16:11:111421ブラウズ

この記事では、主に ajax の使用シナリオと、ajax が適用されないシナリオを紹介し、ajax を使用すべき場面を理解します。では、この記事を一緒に読みましょう

Ajax が適用できるシナリオ
1. フォーム主導のインタラクション
従来のフォーム送信では、テキスト ボックスに内容を入力した後、ボタンをクリックし、バックグラウンド処理が完了した後、ページが更新され、次に戻ります。リフレッシュ結果が正しいかどうかを確認してください。 Ajax を使用すると、sunmit ボタンをクリックした後、すぐに非同期処理が実行され、更新された結果がページ上にすぐに表示されます。ページ全体を更新する問題はありません。
2. 深いツリー ナビゲーション
深いカスケード メニュー (ツリー) の移動は非常に複雑なタスクです。JavaScript を使用して表示ロジックを制御し、Ajax を使用してより深いデータの読み込みを遅らせると効果的です。
これまでのカスケード メニューの処理のほとんどは次のようなものでした:
メニュー上の各操作によるページの再読み込みを避けるために、毎回バックグラウンドを呼び出す方法は使用せず、メニューをカスケードします。メニューのすべてのデータを読み出して配列に書き込み、JavaScript を使用してユーザーの操作に基づいてその項目のサブセットの表示を制御します。 これにより、メニューのリロードではなく、操作の応答速度の問題が解決されます。しかし、ユーザーがメニューを操作しなかったり、メニューの一部だけを操作したりすると、特にメニュー構造が複雑な場合、読み取られたデータの一部が冗長データとなり、ユーザーのリソースを無駄に消費します。複雑でデータ量が多い場合(例えばメニューにあるもの) 多くのレベルがあり、各レベルには何百ものアイテムがあります)、この欠点はさらに顕著です。
この場合に Ajax を適用すると、結果が改善されます。
ページを初期化するとき、ユーザーが最初のレベルの 1 つを操作したときにのみ、最初のレベルのデータをすべて読み取って表示します。メニュー項目 現在の第 1 レベルの項目が属する第 2 レベルのサブメニューのすべてのデータが、Ajax を通じてバックグラウンドに要求されます。表示されている第 2 レベルのメニューの項目を要求し続けると、操作された第 2 レベルのメニュー項目に対応するデータは、すべての 3 レベルのメニューのすべてのデータを後方から要求されます。このようにして、使用した内容と使用量を取得できます。 どれくらい、データの冗長性や無駄がなく、データダウンロードの総量が削減され、ページを更新するときにコンテンツ全体をリロードする必要がなく、更新する必要がある部分のみが短くなります。バックグラウンド処理とリロード方法により、ユーザーの待ち時間が短縮され、リソースの無駄が最小限に抑えられます。
3. ユーザー間のコミュニケーションの迅速な応答
多くの人が関わるコミュニケーションやディスカッションのシナリオにおいて、最も不快なことは、新しいディスカッションがあるかどうかを知るためにユーザーが何度もページを更新することです。新しい返信はできるだけ早く表示される必要があり、ユーザーを気が散る更新から解放するには、Ajax が最適な選択です。
4. 投票、はい/いいえなどの重要でないシーン
このようなシーンでは、送信プロセスに 40 秒かかる場合、多くのユーザーは単純に無視して参加しませんが、Ajax は時間を制御できます。より多くのユーザーが参加できるように 1 秒。
5. データのフィルタリングと関連データの操作のシナリオ
データにフィルターを使用したり、時間順または時間と名前で並べ替えたり、フィルターのオンとオフを切り替えたりできます。高度にインタラクティブなデータ操作が必要な状況では、一連のサーバー リクエストではなく JavaScript を使用して実行する必要があります。データが更新されるたびに、そのデータを検索して処理するのに時間がかかりますが、Ajax を使用するとこのプロセスを高速化できます。 (もっと見たい場合は、PHP中国語ウェブサイトAJAX開発マニュアルのコラムにアクセスして学習してください)

6.通常のテキスト入力プロンプトとオートコンプリートシナリオ
テキストなどの入力フォームに入力プロンプトを表示しますボックスやオートコンプリートはユーザー エクスペリエンスを効果的に向上させることができます。特にオートコンプリート データがサーバー側から取得される可能性がある場合、Ajax は良い選択です。
Ajax が適用できないシナリオ
1. いくつかの単純なフォーム
フォーム送信は Ajax から最大限のメリットを得ることができますが、単純なコメント フォームが Ajax から明らかな改善を得られることはほとんどありません。あまり使用されていない一部のフォーム送信については、Ajax はあまり役に立ちません。
2. 検索
Start.com や Live.com など、Ajax を使用する一部の検索エンジンでは、ブラウザの戻るボタンを使用して前の検索の結果を表示することができません。検索習慣が身についたユーザーは、これは許せないと述べた。
現在、Dojo は iframe を通じてこの問題を解決しています。
3. 基本的なナビゲーション
サイトのナビゲーションに Ajax を使用するのは悪い考えです。システム プログラムの改善に時間を費やしてみてはいかがでしょうか。
4. 大量のテキストを置き換える
Ajaxを使用してページの部分更新を実現しますが、ページのすべての部分が変更されている場合は、サーバーリクエストをやり直してみてはいかがでしょうか?
5. プレゼンテーションの操作
Ajaxは純粋なUIテクノロジーのように見えますが、実際はそうではありません。これは実際にはデータの同期、操作、送信のためのテクノロジーです。クリーンで保守しやすい Web アプリケーションの場合、ページ レンダリングの制御に Ajax を使用しないことをお勧めします。 JavaScriptはXHMTL/HTML/DOMを簡単に処理でき、データ表示もCSSルールでうまく表現できます。

既存の問題
1. JavaScript で作られた Ajax エンジン、JavaScript の互換性と DeBug は両方とも頭の痛い問題です
2. Ajax の更新なしのリロード、ページの変更により、ダウンロードは行われません。明らかなため、ユーザーにトラブルを引き起こしやすいですか?D?Dユーザーは、現在のデータが新しいものか更新されたのかがわかりません。既存の解決策には、関連する場所のプロンプトとデータ更新領域をより明確に設計し、ユーザーにプロンプ​​トを表示することが含まれます。データ更新後など;
3. 中間プロセスをブックマークすることはできません。解決策: GoogleMaps は、ページ上に「このページへのリンク」を提供することでこの問題を解決します。また、URL リンクに無効な ?^ タグを追加することでも解決できますが、まだ検証されていません。 IBM 開発者フォーラムには、誰が言ったかよく覚えていない上司がいると思いますが、これを既存の成熟したプレゼンテーション層フレームワークである j2ee と組み合わせて使用​​することをお勧めします。必要に応じて使用しても、多くの選択肢が失われることはありません。やみくもに努力すると、誘惑され、刺激され、正気を失うような苦い結果が待っているかもしれません。 この記事はここで終わります (さらに詳しく知りたい場合は、PHP 中国語 Web サイトAJAX ユーザー マニュアル の列にアクセスして学習してください)。ご質問がある場合は、以下にメッセージを残してください。

以上がajax に適用できるシナリオは何ですか? ajax が適用できないシナリオにはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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