AJAXは、どのようなデータ形式を転送することができますか?

StackOverflow https://stackoverflow.com/questions/874417

  •  22-08-2019
  •  | 
  •  

質問

私は、AJAXに新しいんだけど、概要として、私はあなたがアップロードおよびダウンロードすることができますどのような形式知りたいのです。それはJSONまたはXMLに限られたり、あなたもMP3やUTF-8 HTMLのようなバイナリタイプを送ることができますです。そして最後に、あなたはデータの完全な制御、バイト配列のようなものでバイトごとに持っている、または送信された文字列のみである/受けます。

役に立ちましたか?

解決

私たちはjavascriptを話しているのAjaxについて話している場合は?そして、XMLHTTPRequestをどうですか?

唯一のhttpリクエストであるXMLHttpRequestが、すべてを転送することができます。しかし、JavaScriptで何バイト配列はありません。文字列、数値などのみ。あなたは、AJAX呼び出しから取得するすべてのものは、テキスト(responseText)の作品です。それは(あなたにreponseXMLを与える)XMLに解析される可能性があります。特別なエンコーディングは、HTTPトランスポートのより問題である必要があります。

バイナリのものは、Ajax依存が、javascriptを依存していません。そこJavaScriptの内側バイトのデータを提供するための文字列のためのいくつかの奇妙な符号化方式は、(特に画像のため)ですが、それは一般的なソリューションではありません。

HTMLは問題ではありません、それが最も顕著なユースケースです。このタイプのリクエストから、あなたが配信HTML文字列を取得し、それがHTMLを解析し、innerHTMLプロパティごとのDOMにおけるいくつかのノードに追加されます。

他のヒント

データはHTTPを介して輸送されているので、あなたはエンコーディングのいくつかの種類を使用することを確認する必要があります。最も人気のあるの一つは、base64エンコーディングです。 http://www.webtoolkit.info/javascript-base64.html:あなたはでより多くの情報を見つけることができます

の方法論は、base64でエンコードにあなたが送信し、サーバ(またはクライアント)でデータをbase64でデコードしたいとあなたが意図したように、元のデータを使用したデータです。

あなたは、文字列またはバイトのいずれかの任意のタイプのデータを転送することができます。

あなたは、問題は、あなたがそれを得れば、それを処理する方法であってもよいし、あなたが好きなものを送ることができます;)

それは、符号化の一つのタイプに固執する、常に最善ですが、あなたはあまりにも文字エンコーディングを選択することができます。

-

標準HTMLは、おそらくそこに使用中のAjaxコンテンツの最も一般的なタイプです。

AJAXは単にあなたがJavaScriptの呼び出しでHTTPを介して非同期にデータを転送していることを意味します。だからあなたのスクリプトは、XmlHttpRequestの()オブジェクトを使用して「通常」のHTTP要求を行います。名前が示すように、あなたが一般的には(常にではないけれども、時々人々はちょうどのみにXmlHttpRequestsでの送信、サーバーから戻ったデータをクライアント側で何らかのアクションを実行したいので、しかし、それは本当に唯一のテキストベースのデータ・フォーマットに適していますサーバー上で何かを)更新します。

サイドノートでは、私はとにかく適切であったであろうバイナリデータを送信するアプリケーションを見たことがありません。

ほとんどの場合、人々は(基本的にはHTTPに固有の名前と値のペアを転送する方法である)POSTでサーバに介してデータを送信したり、GETすることを選択しました。例えば、階層構造のために、より複雑なデータを送信するために、彼らは何とかエンコードする必要があります。 XML文書は、JavaScriptのあたりにネイティブで作られたサーバにオーバー送られ、必要なあらゆるデータ型に解析を取得することができます。 XMLは、痛みのビットすることができるため、それが発生しやすく、解析するのは簡単ですので、しかし、多くの開発者は、代わりにJSONエンコードされたデータを使用します。

どのサーバが返信すると、同じくらい任意です。通常、あなたが入ってくるデータを扱うあなたのJavaScriptでコールバック関数を指定します。ここでも、人気のある選択肢は、XMLとJSONあり、彼らはそれぞれのドキュメントオブジェクトまたは配列構造に簡単に解析します。また、プレーンテキストまたは他のいくつかのパッケージを送っていますが、それから自分自身を使用可能なデータを抽出するの世話をしなければならないことを覚えることができます。時には、それはまた、直接ページ上で何かを更新するために、クライアントに実際のHTMLフラグメントを送信するために有益なことができます。

まず第一に、私はあなたがjQueryのを見てお勧めします。それは邪悪な互換性のものの多くを抽象化し、あなたは非常にうまくAJAX要求を書き込むことができます非常に軽量なフレームワークです。

あなたはHTTPを介して送信することができるものを移動することができます。ではなく、転送の内容についてからロードされたページと同じドメインに作られている呼び出しに関する制限があります。あなたもいずれかを実行し、GETやPOST取引することができます。

ディグ題したブログのエントリ<のhref = "のhttp://blog.digg .COM /?p = 621" のrel = "nofollowをnoreferrer">彼らが呼ぶもの披露DUI.StreamとMXHR の "マルチパートのXMLHttpRequests。"今では、アルファコードであるが、の画像を扱うデモがあります。

scroll top