AjaxとWEBサービスデータフォーマット:XML SOAP HTML


AJAXが作成されたとき、彼の本来の意味は:Asynchronous JavaScript and XML、非同期javascriptとXML、総じて言えばこのようなものです.
  • は、HTTP GET/POSTパラメータを渡すことができるPHPページなどのネットワークサービスを最初に作成し、XML形式の応答
  • を返す.
  • クライアントのjsコードをいくつか書きます.たとえば、伝達パラメータや解析XMLなどです.これらの呼び出しは非同期なので、データを待っている間にブラウザが詰まってしまうことはありません.
  • XMLのデータを処理し、DOMノード
  • を更新する
    AJAXという名詞は開発者や販売員に悪用された.今日、この全大文字の略語は、ページをリフレッシュしない場合のデータの転送を表す新語となっている.理由は次のとおりです.
  • 非同期方法
  • を必ずしも使用する必要はない.
  • JavaScript
  • を必ずしも使用しない
  • XML
  • も不要
    最終的には、どんな技術を使っても、2つのデバイス間でデータを転送します.これはデータフォーマットの第1部であり、後でより多くのデータと特性について説明します.
      XML
    最初はXMLが最適でした.多くの言語にはXML形式の解析とシーケンス化をサポートする関数があります.あなたが使っている言語がXMLをサポートしていないとしても、彼は実はテキストです.
       
       
       
       
    xml version="1.0" ?>
    < products >
    < book >
    < title > The Principles of Beautiful Web Design, 2nd Edition title >
    < url > http://www.sitepoint.com/books/design2/ url >
    < author > Jason Beaird author >
    < publisher > SitePoint publisher >
    < price currency ="USD" > 39.95 price >
    book >
    < book >
    < title > jQuery: Novice to Ninja title >
    < url > http://www.sitepoint.com/books/jquery1/ url >
    < author > Earle Castledine & Craig Sharkie author >
    < publisher > SitePoint publisher >
    < price currency ="USD" > 29.95 price >
    book >
    < book >
    < title > Build Your Own Database Driven Website title >
    < url > http://www.sitepoint.com/books/phpmysql4/ url >
    < author > Kevin Yank author >
    < publisher > SitePoint publisher >
    < price currency ="USD" > 39.95 price >
    book >
    products >

    XMLのメリットは次のとおりです.
  • XMLは読み取り可能で分かりやすい.
  • 多くの言語がXMLをよくサポートしています.肝心なのはJavaScriptです.
  • XMLの方が安全です.データは抽出および解析されなければならないので、悪意のあるデータは
  • を効果的に抑制することができる.
    しかし、XMLにも彼の欠点があります.
  • では、業界が統一的に認めているXMLのフォーマットは永遠にありません.RSSなどを適切に配合する必要があります.クライアントのJavaScriptは理解しなければなりません.
  • XML形式のデータは、データの量よりもラベルが大きい可能性があります.非同期インタラクションの場合、データが小さいほど良いです.
  • XMLには、1つのデータが新しい要素なのか、メタデータの属性なのか、曖昧な点があります.属性としてはファイルが小さいかもしれませんが、これに合うのは不便です.
  • JavaScritpでXMLを解析するのは大変ですが、XPathのサポートが良いので、先に変換する必要があります
         
         
         
         
    // grab value in first element
    var xml = xhr.responseXML;
    var nodes = xml.getElementsByTagName( " data " );
    var data = (nodes.length > 0 ? nodes[ 0 ].firstChild.nodeValue : null );


  • 多くの開発者はXMLが死んだと思っていますが、私はあまり同意していません.今XMLはAjaxの最適な選択ではないかもしれませんが、すべてのウェブサービスがどのように配置されているかは分かりません.そしてXMLの普及は偉大なことであり、無視しないでください.
      SOAP
    SOAPはデータ交換の標準フォーマットです.詳細な技術詳細ドキュメントは数百ページあり、総じてSOAPは定義されたXML schemasに依存しています.開発者の世界でSOAPを使う人は少ない(見れば十分).SOAPの魅力は,クライアントのライブラリがXMLを自動的にオリジナルのオブジェクトに変換できることである.例えば.NETの開発者はSOAPベースのネットワークサービスを作成することができ、クライアントはあまり多くのことをする必要はありません.開発者としては、リモートのマシンで何を使っているのか気にしないC#を使うことが多い.しかしSOAPの欠点:
  • SOAPはXMLの冗長さ
  • を超えた.
  • JavaScriptでのSOAPの処理は依然として困難である.SOAPのライブラリは処理に協力できるが,開発者やブラウザにとっては大きな圧力がある
  • である.
    SOAPは、特に同じローカルエリアネットワークの場合、サービス側間の通信の選択である.しかしAjaxではあまり使われていません.
      HTML
    Ajaxリクエストでページにコードを挿入したい場合は、HTMLは簡単なフォーマットで、あまり処理する必要はありません.たとえば、各ページにカートを表示する必要があるとします.サーバー側にこのようなHTMLコードがあれば、意見商品を選んだ後、同じHTMLコードを返すことができます.メリットは次のとおりです.
  • 既存のコードを簡単に使用でき、ネットワークサービス
  • を作成できます.
  • クライアントで複雑なデータ処理を行う必要はない
  • .
  • HTMLコードはinnerHTMLを介してページに素早く挿入できる
  • .
    しかし、欠点もあります.
  • は、本当に価値のあるデータを分離するのは難しい.例えば、他の場所で異なる方法でカートを表示したい場合は、
  • は使えません.
  • 伝送のデータ量も比較的大きく、XMLよりも
  • 大きい
  • HTMLを挿入すると既存ページを破壊するリスクがある
  • .
  • セキュリティが問題になる可能性があり、対応するデータに悪意のあるコードがある可能性があります