2011-08-19 62 views

答えて

4

Ajaxは主にJSONが、今日使用されているので、Xが依存して変化し(非同期JavaScriptとXML/XhttpRequetのために立っている。

これは、サーバーにはJavaScriptを使用してページからの要求を実行し、いくつかの応答を受信するための方法です。このレスポンスは、json、xml、text、htmlなど何でもかまいません。

これにより、ページをリロードしてアクションを実行する必要がなくなります(たとえば、この回答を質問に投稿するなど)。 :-)

JsonはJavaScrip Object Notationの略です。これはxmlより軽いシリアライゼーション形式であり、JavaScriptであるという利点があります。

JsonPは、JsonでAjaxを使用するための次の論理的なステップです。

サーバは、Jsonオブジェクトをコールバック関数でラップするJSONPで応答します。関数の名前は、クライアントによってサーバーに渡されます。通常、クエリ文字列のパラメーターとして使用されます。 Pは、関数の名前とオブジェクトを引数としてjsonオブジェクトを囲むため、パディングを表します。

callback({"name":"my name"}); 

参照:より詳細な説明についてhttp://en.wikipedia.org/wiki/JSONP

+0

私は「あなたの質問にこの回答を投稿する」などの部分が好きでした。 :)後でya! –

47
  • - "非同期JavascriptとXML" Ajaxは、Webアプリケーションでより豊かなユーザーエクスペリエンスを実現するための技術群を大まかに定義しています。画面のデータ更新とリフレッシュは、javascriptとxml(またはjsonまたは通常のhttpポスト)を使用して非同期に行われます。

  • JSON - "Javascript Object Notation" JSONはオブジェクトを記述するために使用できるという点でxmlに似ていますが、コンパクトで実際のjavascriptの利点があります。 JSONで表現されたオブジェクトは、実際のオブジェクトに変換してJavaScriptコードで操作することができます。

  • デフォルトでは、リクエストが発生したページの同じドメインにAjaxリクエストが発生する必要があります。 JSONP - 「パディング付きのJSON」 - は、別のドメインからJSONリソースをリクエストできるように作成されました。 (CORSはJSONPよりも新しい、より良い代替手段です)。

  • REST - "Representational State Transfer" RESTの原則を使用するアプリケーションは、リソースの使用を中心としたURL構造と要求/応答パターンを持っています。純粋なモデルでは、HTTP Verbs Get、Post、Put、およびDeleteを使用して、それぞれリソースの取得、作成、更新、および削除が行われます。

16

アヤックス、またはより適切に、AJAXは、非同期JavaScriptとXMLの略で取得したままとポスト(POST)を選択するマップ(GET)と作成、更新、削除するために、入れて、頻繁に使用されていません削除します。技術的には、返されるコンテンツタイプに関係なく、現在のページで実行されているスクリプトに代わって、ブラウザによって行われた非同期要求(XmlHttpRequestを使用するもの)を指します。また、ページのほとんどまたはすべてがページ上で動的に取得または更新されるページ/サイトを構築する特定のパターンを記述するために使用することもできます。データ形式の記述に使用する場合、「ajax」は通常「xml」を意味します。

JSONはデータエンコーディング形式です。名前自体は「JavaScript Object Notation」の略語です。 JSON形式のデータは、次のようになります。それはかなり一般的に軽量、拡張性、そして簡単に解析データ交換フォーマットとして他のコンテキストで使用されているものの

{"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}} 

JSONデータは、AJAX要求によってフェッチすることができます。

JSONPはJSON形式のデータで、コールバック関数でラップされています。 "P"は "With Padding"の略です。これは、関数呼び出しを "パディング"と考えるのが好きでない限り、まるで愚かです。いずれの場合も、JSONPデータは次のようになります。このように

someFunction({"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}}); 

、JSONPは本当にただのJavaScriptスニペットで、JSONとは違ったJavaScriptの文脈の外で使用されていない、ブラウザ(または他のJavaScript対応のクライアント) 、AJAXリクエストなどがあります。 JSONPを使用する理由は、same-origin policyを覆すことができるからです。サイトYがサイトXとは別のドメインにある場合、サイトXから送信されたスクリプトはサイトYに直接リクエストすることはできませんが、サイトYのサーバーがJSONP形式の応答を送信できる場合、サイトXのスクリプトは新しい<script>タグをサイトYのURLを参照するドキュメントに追加し、サイトYからの応答がロードされると、スクリプトXがドキュメントで定義したコールバック関数を呼び出し、スクリプトXが動的にロードされたデータにアクセスできるようにしますサイトY.

JSONPデータは、通常XmlHttpRequestを使用して要求されていないことに注意してください。これは、同じ起源のポリシーの標準的な注意点に従うと、このようにすることができますが、最初はJSONPを便利にするクロスドメインマジックを失います。

RESTは、HTTPの実際の動作/使用方法の正式な仕様/説明です。サーバーから対応するリソースを要求するために使用されているURLの概念を理解しており、GetPostの違いがわかっている場合、RESTについて必要なことはすべて実際に分かります。

関連する問題