XMLHttpRequestはサーバーに対してHTTPリクエストを発行するオブジェクト。ブラウザを更新しない。
firefox, operaの場合は、単にXMLHttpRequestクラスのオブジェクトを作るだけだが、IE6はActiveXObjectとして作成しなければならない。
ActiveXObject :
オートメーション オブジェクトへの参照を有効にして返します。
newObj = new ActiveXObject(servername.typename[, location])
ActiveXのXMLHTTPのバージョン: Msxml2.XMLHTTP, Microsoft.XMLHTTP
new ActiveXObject(‘Msxml2.XMLHTTP’);
new ActiveXObject(‘Microsoft.XMLHTTP’);
「readyState」プロパティはサーバからデータを受信するたびに値の更新が行われます。よってこの値を監視することでデータの受信が完了したかどうかを判別できます。
「readyState」プロパティの値が変化すると「onreadystatechange」イベントが発生します。そこで「onreadystatechange」イベント発生する度にチェックする関数を呼び出し、データの受信が完了していたらデータを表示する。
function checkStatus(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
alert(xmlHttp.responseText);
}
}
httpRequest = false; if(window.XMLHttpRequest){ httpRequest = new XMLHttpReqeust(); httpRequest.overrideMimeType('text/xml'); } else if(window.ActiveXObject){ try { httpRequest = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e){ httpRequest = new ActiveXObject('Microsoft.XMLHTTP'); } } function request(page){ if(page == "") return; httpRequest.abort(); httpRequest.open('GET', 'http//webos-goodies.jp/archives/' + page+ '.html', true); httpRequest.onreadystatechange = function(){ if(httpRequest.readyState == 4){ if(httpRequest.status == 200){ document.getElementById('page_text').value = httpRequest.responseText; } } } httpRequest.send(null); }