English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - XMLHttpRequest オブジェクト

XMLHttpRequestオブジェクトは、サーバーとデータの交換に使用されます。

XMLHttpRequestオブジェクト

すべての現代のブラウザ(Chrome、Firefox、IE7 +(Edge、Safari、Opera)は、組み込みのXMLHttpRequestオブジェクトを持ちます。

XMLHttpRequestは、バックグラウンドのWebサーバーとデータの交換を通じて、ページのアシストンアップデートを許可します。

ページ全体をリフレッシュしなくても、URLからデータを取得できます。

これにより、ユーザーの操作を中断せずにページの一部を更新することができます。

XMLHttpRequestオブジェクトの作成

クライアントとサーバー間でAJAX通信を実行する前に、まずXMLHttpRequestオブジェクトを例示する必要があります。以下のようになります:

構文:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
テストを見て‹/›

クロスサイトXMLHttpRequest

セキュリティの理由から、現代のブラウザはクロスドメインアクセスを許可していません。

これは、そのウェブページ及び、それが読み込もうとしているリクエストファイルが同じサーバー上に存在する必要があることを意味します。

oldtoolbag.com上の例は、oldtoolbag.comドメイン内のすべてのオープンリクエストファイル。

上記の例を自分のウェブページの一部に使用する場合、リクエストのファイルは自分のサーバー上に存在する必要があります。

古いブラウザ(IEに適用) 6及以前のバージョン)

Internet Explorerの旧バージョン(6及以前のバージョン(IE及以前のバージョン)は、ActiveXオブジェクトを使用してXMLHttpRequestオブジェクトを使用しておりません。

構文:
var request = new ActiveXObject("Microsoft.XMLHTTP");

IEの古いバージョンを処理するには6及以前のバージョン、ブラウザがXMLHttpRequestオブジェクトをサポートしているか確認してください。それができない場合は、ActiveXオブジェクトを作成してください:

var httpRequest;
if (window.XMLHttpRequest) {
    // 現在主流のブラウザ(Chrome、Mozilla、Safari、IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 または古いIEバージョン
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
テストを見て‹/›

XMLHttpRequestオブジェクト属性

以下のテーブルには、XMLHttpRequestオブジェクトのすべての属性が示されています:

属性説明
onreadystatechangereadyState属性が変更されたときに呼び出す関数を定義
readyStateXMLHttpRequestの状態を保持します:
0:リクエストが初期化されていません
1:サーバー接続が確立されました
2:リクエストを受け取りました
3:リクエストを処理
4:リクエストが完了し、応答が準備できました
responseText応答データを文字列形式で返します
responseXML応答データをXMLデータとして返します
statusリクエストの状態を返します:
200:“OK”
403:“Forbidden”
404:“Not Found”
完全なリストについては、以下にアクセスしてくださいHTTPステータスコードの参照
statusText状態テキストを返します(例:“OK”または“Not Found”)

XMLHttpRequestオブジェクトメソッド

以下のテーブルには、XMLHttpRequestオブジェクトのすべてのメソッドが示されています:

メソッド説明
new XMLHttpRequest()新しいXMLHttpRequestオブジェクトを作成
abort()現在のリクエストをキャンセル
getAllResponseHeaders()タイトル情報を返す
getResponseHeader()特定のヘッダー情報を返す
open(method, url, async)リクエストを指定
method:リクエストタイプGETまたはPOST
url:ファイル位置
async:true(非同期)またはfalse(同期)
send()リクエストを送信
GETリクエストするサーバー
send(string)リクエストをサーバーに送信します。
POSTリクエスト
setRequestHeader(header, value)HTTPヘッダーをリクエストに設定
header:指定されたヘッダー名
value:指定されたヘッダー値