<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 | 完了 | 全てのデータが読み込まれた |
戻る