Hatena Blog Tags

sjax

(ウェブ)
えすじゃっくす

【Synchronous JavaScript + XML】
非同期通信が特長のAjaxに対し、同期通信でデータを取得・処理するJavaScriptのこと。大抵はAjaxの対義語として用いられる。
XMLHttpRequestは非同期なHTTP通信を行うためのオブジェクトとして知られるが、実はメソッドの引数を1つ変えるだけで同期・非同期通信のどちらも行える。
XMLの取得やDOMによる解析、ページの動的書き換えなど、同期・非同期通信の点以外はAjaxと同じ技術が使えるので、XML取得のテストやDOM解析の練習には、AjaxよりSjaxのほうが複雑にならず効率的と言えるのではないだろうか。

AjaxとSjaxの相似点と相違点

相似点

  • JavaScript(ECMAScript)を使う
  • XMLHttpRequestでXML(など)を取得する
  • 取得したXMLをDOMで解析する
  • DHTML(HTML + JavaScript + CSS)でページを動的に書き換える
  • ページ遷移を起こさない

相違点

  • 通信時の待ち時間
    • Ajax:その間別の処理ができる / Sjax:通信が終わるまで足止め
  • 通信後の処理
    • Ajax:イベントを使って別の関数で / Sjax:通信要求したコマンドの直後から
  • 用意する関数
    • Ajax:通信後の処理用で多くなりがち / Sjax:比較的少なくて済む(シンプル)
このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。