ホームページ > ウェブフロントエンド > jsチュートリアル > XMLHttpRequest オブジェクトのプロパティと ajax の長所と短所

XMLHttpRequest オブジェクトのプロパティと ajax の長所と短所

php中世界最好的语言
リリース: 2018-06-04 11:05:20
オリジナル
1829 人が閲覧しました

今回は XMLHttpRequest オブジェクトの属性と ajax のメリットとデメリットについてお届けします。 XMLHttpRequest オブジェクトの属性と ajax のメリットとデメリットを使用する際の 注意点 については以下のとおりです。

XMLHttpRequest オブジェクトには 3 つの重要な属性があります:

onreadystatechange

イベント トリガー 、この イベント ハンドラー は状態が変化するたびにトリガーされます

readyState は 0 から 4 に変わります

0 = 初期化されていません

1 =読み込み中/サーバー接続が確立されました

2 = 読み込み済み/リクエストを受信しました

3 =対話中/リクエスト処理中

4 =リクエストが完了しました

ステータス サーバーのHTTPステータスコード

:1プレフィックス:メッセージ。このタイプのステータス コードは、リクエストが受け入れられ、処理を続行する必要があることを意味します。

2 接頭辞: 成功。 このタイプのステータス コードは、リクエストがサーバーによって正常に受信、理解され、受け入れられたことを意味します。 (200:'OK')

3 プレフィックス: リダイレクト。このタイプのステータス コードは、クライアントがリクエストを完了するためにさらなるアクションを実行する必要があることを示します。 (304:'未変更')

4 プレフィックス: リクエスト エラー。このタイプのステータス コードは、クライアントでエラーが発生し、サーバーの処理を妨げている可能性があることを意味します。プレフィックス 5 および 6: サーバー エラー。このタイプのステータス コードは、サーバーがリクエストを処理しているときにエラーまたは異常な状態が発生したことを表します

Ajax の利点

更新せずにデータを更新する

AJAX の最大の利点は、更新せずにサーバーと通信してデータを維持できることですページ全体。これにより、Web アプリケーションはユーザーの操作により迅速に応答できるようになり、変更されていない情報がネットワーク上に送信されることがなくなり、ユーザーの待ち時間が短縮され、非常に優れたユーザー エクスペリエンスが実現されます。

サーバーとの非同期通信;

AJAX は、ユーザーの操作を中断することなく、非同期方式を使用してサーバーと通信し、より高速な応答機能を備えています。ブラウザとサーバー間の通信を最適化し、ネットワーク上の不要なデータ送信、時間、データ トラフィックを削減します。

フロントエンドとバックエンドの負荷分散

AJAX は、クライアントのアイドル処理能力を使用して、これまでサーバーが負担していた作業の一部をクライアントに転送し、サーバーと帯域幅の負担を軽減し、スペースとブロードバンドのレンタルを節約します。費用がかかります。
そしてサーバーの負荷を軽減します。AJAX の原則は「オンデマンドでデータを取得する」ことであり、サーバー上の冗長なリクエストと応答によって引き起こされる負荷を最小限に抑え、サイトのパフォーマンスを向上させることができます

標準に基づいて広くサポートされています:
AJAX はこれは、ブラウザのプラグインやアプレットのダウンロードを必要とせず、ブラウザ上で JavaScript を実行するために顧客の許可を必要とする、広くサポートされているテクノロジです。 Ajax が成熟するにつれて、Ajax の使用を簡素化するいくつかのプログラム ライブラリも登場しました。同様に、JavaScript をサポートしていないユーザーに代替機能を提供する別の支援プログラミング テクノロジが登場しました。

インターフェイスとアプリケーションの分離:

Ajax は WEB のインターフェイスとアプリケーションを分離します (データとプレゼンテーションを分離するとも言えます)。これは分業と協力に役立ち、非技術者によって引き起こされる WEB アプリケーションのエラーを削減します。ページを変更することで効率が向上し、現在の公開システムにも適しています。
Ajaxの欠点

AJAX は履歴機能を無効にし、これはブラウザのメカニズムを破壊します。
ページを動的に更新する場合、ブラウザは履歴に静的なページしか記憶できないため、ユーザーは前のページの状態に戻ることができません。完全に読み取られたページと動的に変更されたページの違いは非常に微妙です。ユーザーは多くの場合、「戻る」ボタンをクリックすると前の操作がキャンセルされると期待しますが、Ajax アプリケーションではこれは実現できません。 。
Gmail を使用したことがある人は、Gmail で使用されている Ajax テクノロジーがこの問題を解決することを知っています。
ただし、これは Ajax のメカニズムを変更するものではありません。ユーザーが戻るボタンをクリックして履歴にアクセスすると、
非表示の IFRAME を作成または使用して、ページ上の変更を再現します。これに関連する点は、動的ページ更新を使用すると、ユーザーが特定の状態をお気に入りに保存することが困難になるということです。この問題に対する解決策も登場しており、そのほとんどは URL フラグメント識別子 (多くの場合アンカーと呼ばれ、URL の # の後の部分) を使用して追跡し、ユーザーが指定されたアプリケーションの状態に戻れるようにします。 (多くのブラウザーでは、JavaScript でアンカーを動的に更新できるため、Ajax アプリケーションは表示されたコンテンツを更新しながらアンカーを更新できます。) これらのソリューションは、戻るボタンをサポートしていないことに関する議論の多くも解決します

AJAX セキュリティ問題:

AJAX テクノロジーは、 Ajax テクノロジは、ユーザーに優れたユーザー エクスペリエンスを提供しますが、IT 企業に新たなセキュリティ脅威をもたらします。これは、企業データの直接チャネルを確立するようなものです。これにより、開発者は以前よりも多くのデータとサーバー ロジックを誤って公開してしまう可能性があります。

Ajax ロジックはクライアント側のセキュリティ スキャン テクノロジから隠蔽できるため、ハッカーがリモート サーバーから新しい攻撃を作成できるようになります。 Ajax は、クロスサイト スクリプティング攻撃、SQL インジェクション攻撃、資格情報ベースのセキュリティ脆弱性など、いくつかの既知のセキュリティ上の弱点を回避することも困難です。

検索エンジンのサポートが弱い: 検索エンジンのサポートが弱い。 AJAX を不適切に使用すると、ネットワーク データ トラフィックが増加し、システム全体のパフォーマンスが低下します。

標準に基づいて広くサポートされています:
AJAX は標準化され、広くサポートされているテクノロジーに基づいています。ブラウザーのプラグインや小さなプログラムをダウンロードする必要はありませんが、お客様はブラウザーで JavaScript を実行できるようにする必要があります。 Ajax が成熟するにつれて、Ajax の使用を簡素化するいくつかのプログラム ライブラリも登場しました。同様に、JavaScript をサポートしていないユーザーに代替機能を提供する別の支援プログラミング テクノロジが登場しました。

AJAX はモバイル デバイスをあまりサポートしていません:
一部のハンドヘルド デバイス (携帯電話、PDA など) はまだ Ajax を十分にサポートしていません。たとえば、モバイル ブラウザーで Ajax テクノロジを使用して Web サイトを開くと、現在サポートされていません。

クライアントが太すぎるため、クライアントコードが多すぎると開発コストが発生します
記述が複雑でエラーが発生しやすくなります(JSファイルのレイヤーが含まれることは、大量のサーバーと相まってAJAXの一般的な問題です) -過去のサイドコードは現在クライアントに配置されており、Web の元の標準を破壊します。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Ajaxの中核的な動作原理とオブジェクト


Polyfillアノテーションの使用とJSでの変更の防止

以上がXMLHttpRequest オブジェクトのプロパティと ajax の長所と短所の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート