English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
XMLHttpRequestオブジェクトは、サーバーとデータの交換に使用されます。
すべての現代のブラウザ(Chrome、Firefox、IE7 +(Edge、Safari、Opera)は、組み込みのXMLHttpRequestオブジェクトを持ちます。
XMLHttpRequestは、バックグラウンドのWebサーバーとデータの交換を通じて、ページのアシストンアップデートを許可します。
ページ全体をリフレッシュしなくても、URLからデータを取得できます。
これにより、ユーザーの操作を中断せずにページの一部を更新することができます。
クライアントとサーバー間でAJAX通信を実行する前に、まずXMLHttpRequestオブジェクトを例示する必要があります。以下のようになります:
構文:
var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();テストを見て‹/›
セキュリティの理由から、現代のブラウザはクロスドメインアクセスを許可していません。
これは、そのウェブページ及び、それが読み込もうとしているリクエストファイルが同じサーバー上に存在する必要があることを意味します。
oldtoolbag.com上の例は、oldtoolbag.comドメイン内のすべてのオープンリクエストファイル。
上記の例を自分のウェブページの一部に使用する場合、リクエストのファイルは自分のサーバー上に存在する必要があります。
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オブジェクトのすべての属性が示されています:
属性 | 説明 |
---|---|
onreadystatechange | readyState属性が変更されたときに呼び出す関数を定義 |
readyState | XMLHttpRequestの状態を保持します: 0:リクエストが初期化されていません 1:サーバー接続が確立されました 2:リクエストを受け取りました 3:リクエストを処理 4:リクエストが完了し、応答が準備できました |
responseText | 応答データを文字列形式で返します |
responseXML | 応答データをXMLデータとして返します |
status | リクエストの状態を返します: 200:“OK” 403:“Forbidden” 404:“Not Found” 完全なリストについては、以下にアクセスしてくださいHTTPステータスコードの参照 |
statusText | 状態テキストを返します(例:“OK”または“Not Found”) |
以下のテーブルには、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:指定されたヘッダー値 |