技術情報
[04] Ajaxによる通信
[コード例]
<form>
<input type="text" name="RESULT" value="">
<input type="button" name="BTN01" value="テスト実行" onClick="myRun()"><br>
<textarea name="RECEIVE" cols="70" rows="3"></textarea>
</form>
<script>
// 通信
function myRun()
{
var Obj = myObject();
Obj.open("GET", "http://www.****.com/", true);
Obj.send(null);
}

// オブジェクト生成クラス
function myObject()
{
// タイムアウト処理用タイマーID
var timerID = null;
// XMLHttpRequestオブジェクト
var Http = null;
Http = new XMLHttpRequest();
if (Http == null) {Http = new ActiveXObject("Msxml2.XMLHTTP");}
if (Http == null) {Http = new ActiveXObject("Microsoft.XMLHTTP");}
// イベント処理関数定義
if (Http)
{
// タイムアウト設定(180秒)
timerID = setTimeout("Http.abort()", 180000);
// イベント処理関数割当
Http.onreadystatechange = function()
{
if (Http.readyState == 4)
{
if (Http.status == 200)
{
document.form1.RESULT.value = Http.responseText;
}
else
{
document.form1.RESULT.value = "受信に失敗しました";
}
// タイムアウト処理解除
clearTimeout(timerID);
// XMLHttpRequestオブジェクト破棄
Http.abort();
}
else
{
document.form1.RESULT.value = "受信中です...";
}
}
}
return Http;
}
</script>

[表示例]


[コード例]
<form>
<input type="text" name="RESULT" value="">
<input type="button" name="BTN01" value="テスト実行" onClick="myRun()"><br>
<textarea name="RECEIVE" cols="70" rows="3"></textarea>
</form>
<script>
// 通信
function myRun()
{
var Obj = myObject();
var timerID = setTimeout("Obj.abort()", 1800000);
Obj.open("GET", "http://www.****.com/", false);
Obj.send(null);
document.form1.RESULT.value = "受信完了";
document.form1.RECEIVE.value = Obj.responseText;
Obj.abort();
clearTimeout(timerID);
}

// オブジェクト生成クラス
function myObject()
{
// タイムアウト処理用タイマーID
var timerID = null;
// XMLHttpRequestオブジェクト
var Http = null;
Http = new XMLHttpRequest();
if (Http == null) {Http = new ActiveXObject("Msxml2.XMLHTTP");}
if (Http == null) {Http = new ActiveXObject("Microsoft.XMLHTTP");}
return Http;
}
</script>

[表示例]