非同期通信(javascript)


xmlhttprequest

"XMLHttpRequest"のオブジェクト、メソッド、プロパティについての解説

objectの取得(クロスブラウザ対応)
function makeXmlHttpRequest(){
var xmlhttp = null;
try{
xmlhttp = new XMLHttpRequest();
return xmlhttp;
}catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
return xmlhttp;
}catch(e){
try{
xmlhttp = new ActiveXObject("Msxml.XMLHTTP");
return xmlhttp;
}catch(e){
return xmlhttp;
}
}
}
}
GETでリクエスト送信

callback関数を第2引数で指定

function getXmlHttpRequest(xmlhttp, callback, url){

xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET", url, true);

//キャッシュを読み込まないように
xmlhttp.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT");

xmlhttp.send(null);

}
コールバック関数例
xmlhttp.responseTextもしくは、xmlhttp.responseXMLで受信完了を確認した方がエラーが少ない模様
function readystatechange(){
if (xmlhttp.readyState == 4 && xmlhttp.responseText) {

//コールバック時の処理

}
}
処理中断

非同期なので、適宜処理を中断しないと前の処理が継続してしまう。

xmlhttp.abort();
最終更新:2007年05月02日 11:37