XMLHttpRequestオブジェクトとは

Ajax を使ったデータの通信を行うために使用されるのが XMLHttpRequest オブジェクトです。を使用します。 XMLHttpRequest オブジェクトを作成したあと、サーバとの間で通信を行い、データの受信が完了したらコールバック関数を使って受信したデータの処理を行います。ここでは XMLHttpRequest オブジェクトのコンストラクタ、および XMLHttpRequest オブジェクトで用意されていメソッドやプロパティについて解説します。

(Last modified: )

XMLHttpRequestオブジェクトのコンストラクタ

Ajax を使った通信を行う最初の手順は XMLHttpRequest オブジェクトを作成することです。 XMLHttpRequest オブジェクトを作成するにはコンストラクタを使います。書式は次の通りです。

XMLHttpRequest()

新しい XMLHttpRequest オブジェクトを作成し初期化します。

XMLHttpRequestオブジェクトのメソッド一覧

XMLHttpRequest オブジェクトで用意されているメソッドには次のようなものがあります。

メソッド説明
XMLHttpRequest.abort()現在の通信を中止します
XMLHttpRequest.getAllResponseHeaders()すべてのレスポンスヘッダを文字列として取得する
XMLHttpRequest.getResponseHeader(ヘッダー名)指定したレスポンスヘッダを文字列として取得する
XMLHttpRequest.open(メソッド, URL[, 非同期[, ユーザー名[, パスワード]]])新規または既存のHTTPリクエストを初期化する
XMLHttpRequest.send(データ)HTTPリクエストをサーバーに送信する
XMLHttpRequest.setRequestHeader(ヘッダー名,値)リクエストヘッダの値を設定する
XMLHttpRequest.overrideMimeType(MIMEタイプ)レスポンスのMIMEタイプを設定する

Ajax を使った通信では、 XMLHttpRequest オブジェクトを作成したあと、 XMLHttpRequest.open メソッドを使って通信方法を設定し、 XMLHttpRequest.send メソッドを使ってリクエストをサーバーへ送信します。より詳しい手順は次のページ以降で解説します。

XMLHttpRequestオブジェクトのプロパティ一覧

XMLHttpRequest オブジェクトで用意されているプロパティには次のようなものがあります。

プロパティ説明
XMLHttpRequest.onreadystatechangeイベントハンドラのひとつ。readyStateの値が変わると呼びだされる
XMLHttpRequest.readyState(読取専用)XMLHttpRequest オブジェクトの状態
XMLHttpRequest.response(読取専用)XMLHttpRequest.responseTypeで設定した形式でサーバから受信したデータ
XMLHttpRequest.responseTypeサーバから受信するデータの形式
XMLHttpRequest.responseText(読取専用)テキスト形式でサーバから受信したデータ
XMLHttpRequest.responseXML(読取専用)XMLまたはHTML形式でサーバから受信したデータ
XMLHttpRequest.responseURL(読取専用)レスポンスがあるURL(送信先先URLがリダイレクトされた時はリダイレクト先URL)
XMLHttpRequest.status(読取専用)サーバからのHTTPステータスコード
XMLHttpRequest.statusText(読取専用)サーバからのHTTPステータスコードの補足メッセージ
XMLHttpRequest.timeoutリクエストがタイムアウトするまでの時間をミリ秒で設定
XMLHttpRequest.ontimeoutイベントハンドラのひとつ。リクエストがタイムアウトすると呼びだされる

非同期通信では送信したリクエストに対してすべてのデータの受信が完了するのを待って処理を行う必要があります。データの通信状態を監視し、データの受信が完了した時に実行するコールバック関数を登録するために使われるのが XMLHttpRequest.onreadystatechange プロパティです。またサーバとの通信が正常に行われたのかを確認するのに使用するのが XMLHttpRequest.status プロパティです。より詳しい手順は次のページ以降で解説します。

-- --

XMLHttpRequest オブジェクトの作成方法、および XMLHttpRequest オブジェクトで用意されていメソッドやプロパティについて解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。