JavaScriptリファレンス

Ajaxの基本







Ajaxの基本


if(window.XMLHttpRequest){
 var http=new XMLHttpRequest();
}else if(window.ActiveXObject){
 var http=new ActiveXObject("Microsoft.XMLHTTP");
}
http.open("GET","http://www.google.com/");
http.onreadystatechange=function(){
 if(http.readyState==4){
  処理
 }
}
http.send(null);
この様な感じになる。

if(window.XMLHttpRequest){
 var http=new XMLHttpRequest();
}else if(window.ActiveXObject){
 var http=new ActiveXObject("Microsoft.XMLHTTP");
}
この部分はXMLHttpRequestオブジェクトの作成だが、MSIEのバージョンによってはXMLHttpRequestに対応していなく、
ActiveXObjectによって同じ事が行えるため、クロスブラウザを考慮した記述になっている。
XMLHttpRequest非対応ブラウザを排除するなら
var http=new XMLHttpRequest();
1行でいい。

http.open("GET","http://www.google.com/");
指定アドレスにGET通信を行う。

http.onreadystatechange=function(){
 if(http.readyState==4){
  処理
 }
}
通信の状況に変化があったらonreadystatechangeのfunctionが実行される。
readyState==4というのは、読み込みの完了で、
通信が正常に終了した場合に処理が実行される。

http.send(null);
sendによって実際に通信を行う。
GETではcontentは送らないのでnull

POST通信を行う場合は
http.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
のようにContent-Typeを指定するヘッダを設定し、
http.send(content);
のように送るデータをsendに渡す。






[編集] [新規] [削除] [バックアップ] [アップロード] [ログイン] [管理]
whwiki 1.3