フロントエンドデータの後端との相互作用のAJAXの方法

フロントエンドのAjaxの方法とバックエンドのデータの相互作用

 学習の面でフロントエンドの場合は、CSS + HTML + JavaScriptは自己学習の場合にマスターする学習されているハードではないですが、あなたは試験の終了は、指針がないの損失になる前と後のデータ交換を実現したいです。そして、私はどのようなデータのインタラクティブな方法の前後端に来てみましょう。

フロントエンドとバックエンドのWebはどのように接続されています。

サイトのデータ処理は3層に分かれています。
HTMLコードの一部、などを実装するためのCSS / Javascriptのコードであってもよい第一層、プレゼンテーション層、。ページレイアウトやデザインは、フロントエンドコードによって実現されてもよいです。この層は表示層と呼ばれることができます。それはあなたがブラウザを表示するには、ページを開いて、です。
第二の層はサービス層で、この層は、データを処理する責任があります。一般的に使用されるコード言語ようにPHP、JSP、Javaとがあります。これらの言語のバックグラウンド処理アルゴリズムにより、フォアグラウンドデータ処理が戻りました。必要に応じてデータベースを操作するときは、その結果は、フロントページに戻ります。
第3の層は、このデータベースは、データを格納するために使用される、データ層です。CRUDデータベース操作は、ビジネスレイヤを操作することによって達成することができます。
①このページは、プレゼンテーション層に属していると、あなたが公開され、このページでは、一般的にCSS / JavaScriptを達成するためのHTMLタグで構成されています。今度は、データを入力する必要があります。
②その後、あなたが提出するトリガーバックグラウンド処理機構を押して、この時間は、データはバックエンドのコードが処理されて送信されます。このコードは、サイトによってはPHPなど、JSP、JAVAを有効にします。データベース操作に対応するコードは、プログラマ後のデータ処理に格納されたデータ等が予め設定されたアルゴリズムを受信することになります。
③データベース操作が正常に完了し、再度、フォームの成功に必要事項を記入あなたを通知するリターン命令であるサイドプレゼンテーション層を表示するビジネス層のコードの後


A.方法は、後端に向かって前端からパラメータを渡します

あなたが背景にデータを送信するために、送信ボタンをクリックして、フォーム1.フロントエンドの形、

2.フロントエンドの後端が応答を要求する、データ、データ処理を受け、その後、フロントエンドに戻します。

II。アヤックスから渡されたパラメータ、AJAX取得し、ポスト(ここでは、我々はAJAXを説明する)には二つの方法があります

アヤックスは何ですか

1、Ajaxの非同期JavaScriptとXML、または非同期のJavaScript + XMLの略です。
技術的な解決策ではなく、新しい技術である2、。
3、それは既存のCSS / HTML / JavaScriptに依存し、のコアは、ブラウザが提供するXMLHttpRequestオブジェクトに依存しています。このオブジェクトは、サーバーに要求を送信し、サーバの応答を解析するとスムーズなインターフェースを提供し、ブラウザは、HTTPリクエストとHTTPレスポンスの受信を行ったページの場合には、データ交換のために実装し、サーバーが更新されない可能
AjaxとXMLHttpRequestの間の関係を:私たちは、Ajaxリクエストを送信するためにXMLHttpRequestオブジェクトを使用します。

Ajaxの長所と短所について:

利点:
    1.プラグインするためのサポート(通常はブラウザとJavaScriptがデフォルトで有効にすることができます)必要はありません。
    2.ユーザーエクスペリエンスは、(データを更新することができます取得するにはページを更新しない)非常に良いです。
    (オンデマンド行うために送られ、データ転送が提出され、全体の観点から必要はありません)、Webアプリケーションのパフォーマンスを向上させるために3。
    4.サーバーと帯域幅(クライアントへのサーバーの動作の一部の移転)の負担を軽減。
 
短所:
    1. XMLHttpRequestのためのブラウザのサポートの異なるバージョンの欠如は、(例えばIE5前など)度オブジェクト。
    2.前後の機能が破壊されている(アヤックスは、常に現在のページであるため、ページを前後に記録されません)。
    (検索エンジンのクローラは、JSによって引き起こされるデータ変更の内容を理解することはできませんので)、検索エンジンの3のサポートが十分ではありません。

取得し、二つの方法で投稿:

主にデータを主に用いGETを受信し、データを送信するために使用される1.POST、
セキュリティ2.PSOT良好送信データ、およびGetが悪い;
3.POST送信データのサイズが限定されるものではなく、大きさが限られたGET 2〜100Kです。
GETとPOSTを使用する場合:データ収集における運用データでなければなりませんPOSTメソッドを使用して、GETメソッドを使用して。

Ajaxを使用

1Varの AJAX = 新しい新規のXMLHttpRequest(); 

 2 .AJAX.open(' GET '' データ/ test.json '真の); 
 
    最初のパラメータ:POST || GET 
 
    第二パラメータ:リクエストURLに
 
    最初三つのパラメータ:ブール値を受け入れるには、道尋ねることにしました
    。サーバー要求は、スクリプトの実行サーバーsend()メソッドの結果を待たずに、つまり、非同期ですが、スクリプトコードを実行し続けて、trueにする
    偽でありますタイムアウトの待機時間は、その後、何の待ち時間は、スクリプトコードの後ろに進んでいない場合は、サーバー、サーバー要求が同期している、すなわち、スクリプトの実行send()メソッドが返すの実行結果を待っています!
    
    3 .ajax.onreadystatechange = 関数(){
         IF(ajax.readyState == 4 && ajax.statusの== 200です){
            func_succ(ajax.responseText)。
        } それ以外の 場合(ajax.readyState == 4 && ajax.status =!200 ){
             // 警告( "AJAX faildのreadyState:" + ajax.readyState + "状態:" + ajax.status)。
        } 
    }。
    
    4 .ajax.send(NULL)。

ajax.readystate

    0 - (初期化されていない)は、send()メソッドが呼び出されていません
    1--(負荷)は、要求を送信していますが、send()メソッドと呼ばれてきました
    2 - (ロード)(送信)メソッドが実行を完了し、全体の応答が受信されています
    3 - (対話型)応答が解析されています
    4 - (完全な)応答内容の分析が完了し、クライアントを呼び出すことができます
HTTPステータスコードajax.status
   1 **:リクエストを受信し、継続的なプロセス
    2 **:正常に受信、解析し、受け付けた操作
    ** 3:要求をさらに処理する必要があります完了
    4 **:要求が不正な構文を含む、または完了することができません
    5 **:サーバーは有効な要求が失敗した完全に行い、
    
    100--顧客が要求を作り続ける必要があります
    101--クライアントは、要求に応じてHTTPプロトコルのバージョンを変換するために、サーバーを要求します
 
    200--取引の成功
    201--は、新しいURLにファイルを知っているよう求め     
    202--受け入れ、対処が、プロセスが完了していません
    不確実または不完全な情報を返します203--
    204--リクエストは受け付けますが、返された情報はnullです
    205--サーバは要求を完了し、現在のドキュメントをリセットする必要があり、ユーザー・エージェントが訪問されました
    206--サーバが完成GETリクエスト一部のユーザーを持っています
 
    300--リソース要求は、多くの中で得ることができます
    301--削除要求データ
    他の要求されたデータで見つかった302--アドレス
    303-- URLまたは他のアクセスメソッドにアクセスするためにクライアントに助言
    304--クライアントがGETを行ったが、ファイルが変更されません。
    305--リソースは、サーバー指定されたアドレスから要求されなければなりません
    現在のバージョンで使用されるコードの306-- HTTP以前のバージョンが使用されていません
    一時的なリソース要求を削除述べ307--
 
    400--構文エラーなどの不正な要求は、
    401--リクエストの承認に失敗しました
    応答ChargeToで402--効果的な保持ヘッド
    403--要求が許可されていません
    404--ファイル、クエリまたはURLを見つけることができません
    リクエストラインで定義されたユーザーフィールドを許可していません405--方法
    406--ドラッグするユーザーが送信受け入れるようによると、要求されたリソースにアクセスできません
    407--類似し401は、ユーザが最初のプロキシサーバーで承認されなければなりません
    408--クライアント要求は空腹ユーザが指定した時間内に完了しません
    409--リソースの現在のステータスに、要求を完了できません
    410--もはやサーバー上でこのリソースとなし、さらに参照アドレスを持っていません
    411--サーバーは、ユーザー定義の属性リクエストのContent-Lengthを拒否します
    現在の要求のエラーで412--リクエスト一つ以上のヘッダフィールド
    413--リソース要求は、サーバによって許可されたサイズよりも大きいです
    414--リソース要求されたURLは、サーバーによって許可された長さよりも長くなっています
    415--要求されたリソース要求はサポートされていないプロジェクト形式
    Rangeヘッダフィールドを含む416--リクエスト要求が現在の要求リソースを示す範囲値内にない場合、要求は、要求を含まない場合、Rangeヘッダフィールド
    プロキシサーバは、サーバが要求を満たすことができない場合であってもよい417--サーバは、ヘッダフィールドを期待要求で指定された目標値を満たしていません
 
    内部サーバーエラーが発生し500--
    501--サーバは要求された機能をサポートしていません。
    502--サーバーが一時的に利用できない、時にはシステムの過負荷を防ぐために
    503--サーバーの過負荷やサービスを一時停止
    504--過負荷マーク、長い待ち時間の値を設定し、ユーザーやサービスに応じて、別のゲートウェイサーバーを使用します
    505--またはサポートしていないサーバは、指定されたHTTPリクエストヘッダのバージョンをサポートすることを拒否します
 
誰もが言っ歓迎する場所ではない理解がある場合、これらは、私の学習の概要Ajaxのプロセスであなたの一部です。

おすすめ

転載: www.cnblogs.com/lxylhj/p/11563746.html