グッドWebフロントエンドプログラマはAJAXルートを共有しているかを理解することを学びます

良いプログラマは、Webフロントエンドの学習ルートが共有AJAXが最初のサーバーであるかを理解します

サーバーは何です:当社のサーバーからページ;(上記ページphpnwoに格納されている)場合は、

さんは、自身のサイトを持っていますが、インターネットサーバ上のページに入れましょう。

1.非同期同期

同期での生活:

非同期ライフ:

JavaScript言語、同期および非同期のちょうど反対の概念で。

同期のこのJavaScriptは次のとおりです。あなたは、上記のコードが実行される完了していない、あなたが実行していないし、次のコード、同期されているステップ実行、一歩。

実行可能な非同期コードです。

プロセスの概念

进程≠程序

程序从开始到结束的一次执行过程叫做进程

一个进程当中,程序同时运行的多个分支,叫做线程

多线程异步执行,可以提高程序的效率

AJAXの重要性

AJAXは===それはそう企業の多くの数のあなたの仕事の経験を習熟度を使用しています。

2. AJAXとは何ですか

Ajaxのフロントとリアのデータは、相互作用の重要な手段である終了します

Ajaxのフルネーム:「非同期JavaScriptとXML」(非同期JavaScriptとXML)は、単一の技術のJavaScriptではありませんが、形成されたインタラクティブなWebアプリケーション関連技術のシリーズを組み合わせて使用​​します。Ajaxでは、私たちは、ステータス更新ページを更新することはできません、と非同期はユーザーエクスペリエンスを強化するために提出します。

A. Ajaxの概要

Ajaxの概念は、2005年にJesseJamesGarrettの発明です。それ自体、単一の技術ではない、技術の束の集合体である、我々は以下のとおりです。

1.JavaScriptは、ユーザまたは他の関連イベントによってブラウザとの対話をキャプチャします

これは、オブジェクトを介して他のブラウザタスクを中断することなく、2.XMLHttpRequestオブジェクトせずにサーバーにリクエストを送信します。

3.サーバー上のファイル、XML、HTMLまたはJSON形式にテキストデータを保存します。

4.その他のJavaScriptは、サーバーから(例えばから取得したPHP、MySQLのデータなど)のデータを解釈し、ページ上にレンダリングします。

Ajaxは多くの機能が含まれているため、利点と欠点も明らかです。以下の点の主な利点:

1.プラグインするためのサポート(通常はブラウザとJavaScriptがデフォルトで有効にすることができます)必要はありません。

2.ユーザーエクスペリエンスは、(データを更新することができます取得するにはページを更新しない)非常に良いです。

Webアプリケーション(リラックスして行うために必要なデータ転送の観点から、全体を提出する必要はありません)の性能を向上させるために3。

4.サーバーと帯域幅(クライアントへのサーバーの動作の一部の移転)の負担を軽減。

以下によるアヤックスの欠如:

ブラウザサポートXMLHttpRequestオブジェクトの欠如(例えば、IE5前)1.異なるバージョン。

2.前後の機能は、(現在のページの前または後にAjaxのために永遠のページではなく、確率)が破壊されています。

(検索エンジンのクローラは、JSによって引き起こされるデータ変更の内容を理解することはできませんので)、検索エンジンの3のサポートが十分ではありません。

4.(哀れな言語、JSやAjaxのデバッグの開発のための他のツールと比較して)デバッグツールの欠如を開発します。

3.AJAXの使用

電話はその後、順序を打ちます:

1.まず電話を持っています。

2.ダイヤル;

3.話します。

4.情報の反対側に電話して聞きます。

//電話があり:リクエストオブジェクトを作成します。

1.var AJAX =新規のXMLHttpRequest();

@ダイヤル:パラメータ設定要求を、

2.AJAX.open( '取得' 'データ/ test.json'、TRUE);

第一引数:POST || GET

GETとPOSTの違い

POSTは、受け入れられたデータをGET送信データです。

PSOTセキュリティデータは、好ましくは送信され、GETが悪いです。

POST送信データサイズは制限されないが、大きさは限定されたGET 2〜100Kです。

GETとPOSTを使用する場合は、その:データ収集時の運用データをあるべきPOSTメソッドを使用して、GETメソッドを使用します。

三番目のパラメータ:ブール値がtrueの場合、サーバ要求は、すなわちスクリプトsend()メソッドの実行を待たずに、非同期に行われます

サーバの結果が、スクリプトコードを実行し続けます。

ブール値が偽である場合、サーバ要求が同期している、すなわち、スクリプトは()メソッドを待つを送信します

スーパーのプロセスを待っている間に、もはや待っていれば、サーバーは、結果を返しません、バックスクリプトコードを続けて!

  1. ajax.onreadystatechange =関数()

    {

    if (ajax.readyState == 4 && ajax.status == 200)
    
    {
    
        func_succ(ajax.responseText);
    
    }
    
    else
    
    {
    
        //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);
    
    }

    }。

4.ajax.send(NULL)。

ajax.readyStatus

0 - (初期化されていない)は、send()メソッドが呼び出されていません

1--(負荷)は、要求を送信していますが、send()メソッドと呼ばれてきました

2 - (ロード)(送信)メソッドが実行を完了し、全体の応答が受信されています

3 - (対話型)応答が解析されています

4 - (完全な)応答内容の分析が完了し、クライアントを呼び出すことができます

おすすめ

転載: blog.51cto.com/14479068/2435138