<script language="javascript" type="text/javascript">
function createXMLHttpRequest()
{
var xmlHttp;
xmlHttp=null;
/*@cc_on
@if (@_jscript_version>=5)
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
xmlHttp=null;
}
}
@else
xmlHttp=null;
@end @*/
if (xmlHttp==null && (typeof XMLHttpRequest)!="undefined")
{
try {
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
xmlHttp=null;
}
}
return xmlHttp;
}
var xmlHttpRequest=createXMLHttpRequest();
</script>
<form method=get> 入力:<input type=text name="test" id="input_text" onKeydown="ajax_call_test();"> </form> 出力:<div id="output"></div>
function ajax_stateChanged()
{
document.getElementById("output").innerHTML=xmlHttpRequest.statusText;
if (xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200)
{
// レスポンス xmlHttpRequest.responseText を HTML に書き込む。
document.getElementById("output").appendChild(
document.createTextNode(xmlHttpRequest.responseText));
}
}
function ajax_call_test()
{
if (xmlHttpRequest==null) return;
xmlHttpRequest.open("GET","ajax.html?in="+
document.getElementById("input_text"),true);
xmlHttpRequest.onreadystatechange=ajax_stateChanged;
xmlHttpRequest.send(null);
}
| 値 | 進行状況 | 内容 |
|---|---|---|
| 0 | 未初期化 | open メソッドが呼ばれる前 |
| 1 | ロード中 | send メソッドが呼ばれる前 |
| 2 | ロード済み | send メソッドが呼ばれた (ヘッダの読み込みが完了) |
| 3 | 通信進行中 | 通信中でデータが途中まで読まれた (ActiveXObject はここでヘッダの読み込みが完了 ?) |
| 4 | 完了 | 全てのデータが読み込まれた |
戻る