XMLHttpRequestは、スクリプト言語からサーバとのHTTP通信を行うための組み込みオブジェクト(API)。既に読み込んだページ上からHTTPリクエストを発することができるため、ページ遷移なしでサーバとのデータ送受信が可能になる。Ajaxの基幹技術。
実装にあたって、おおかまかな手順は以下。
文字コードはUTF-8にしておこう。
- XMLHttpRequestオブジェクトを作成
- XMLHttpRequestオブジェクトからデータを取得
- 取得したデータを編集、利用
ただしセキュリティ上の問題から、リクエストの送信は同一ドメイン内に制限されている。そのため、ドメインを越えてデータを交換するには以下のような方法をとる必要がある。
- Perlなど、サーバーサイドでデータを取得
- Flashのクロスドメイン通信の機能を経由させる
- ScriptタグからJavascriptプログラムとして取得(JSONPなど)
memo: もとはマイクロソフトがIE-5においてActiveXオブジェクトとして実装したのが始まりらしい。