Archive for June, 2006|Monthly archive page
Ajax – XMLHttpRequest
Ajaxの第一歩といわれるほど基本中の基本である XMLHttpRequest についてちょっと勉強、メモ。XMLHttpRequest のオブジェクト、メソッド、プロパティについて
オブジェクト:
IE
new ActiveXObject(“Microsoft.XMLHTTP”); //version <= IE5.0
new ActiveXObject(“Msxml2.XMLHTTP”); //version > IE5.0
IE以外
new XMLHttpRequest();
メソッド:
abort():
現在実行中の送受信の停止。getAllResponseHeaders():
全てのHTTPヘッダを取得する。getResponseHeader(“headerLabel”):
指定したHTTPヘッダを取得する。open(“method”, “URL”[, asyncFlag[, "userName"[, "password"]]]):
指定したメソッド method ( GET|POST|PUT|PROPFIND )で指定
URLにリクエストする。リクエストの成功・失敗に関わらず次の
処理を実行する場合があれば、asynFlag を False に。それ以外は
Ture にする。省略すると True で実行。userName、password は
認証が必要な場合にのみ指定。send(content):
サーバに HTTP リクエストを送信する。content には送信する
データを設定出来る。送信先の URL、送信方式(GET や
POST など)は、open で指定したものになる。データを送信して
も、送信先でそのデータを処理するようにしていないと何も変化
なし。データを送信しない時でも必要で、その時は send(null)
とする。setRequestHeader(“label”, “value”):
HTTP要求時に送られるヘッダーを追加する。label は、追加
したいヘッダー名。value は、その値。
プロパティ:
onreadystatechange:
XMLHttpRequestオブジェクトの状態(readyState)が変化する
度に呼び出されるイベントハンドラ。readyState:
XMLHttpRequest の通信の状態
0 = uninitialized(読み込み開始前の初期状態)
1 = loading(読み込み中)
2 = loaded(とりあえず読み込んだ)
3 = interactive(読み込んだデータを解析中)
4 = complete(読み込んだデータの解析完了、または失敗した。)responseBody:
レスポンスをバイト配列で取得。IE のみで使用可。ただし、
responseBody で取得したデータは ADODB.Stream を用いて
操作するのだが、肝心の ADODB.Stream は、 2004年7月の修正で
IE から使用出来なくなっているので、実際にはどのブラウザでも
使用出来ないのと同じようなもの。動作するサンプルは無し。
C/Sアプリなどの ADODB.Stream が使用出来る環境が必要。また、
Windows サーバであれば、サーバ側の処理での使用も
OK のようだが未確認。responseStream:
レスポンスを IStream 形式で取得。IE のみで使用可。responseText:
レスポンスをテキスト形式で取得。responseXML:
レスポンスを XML DOM 形式で取得。status:
HTTPステータスコードを取得。404、200、403…statusText:
HTTPステータの詳細メッセージを取得
Leave a Comment