タイムアウトしたときエラーメッセージを表示します。
JavaScriptのソースコード
//グローバル変数
var request;
var timerId;
function send() {
//5000ミリ秒経過するとtimeout()を実行する
timerId = setInterval('timeout()', 5000);
var url = "sample03.cgi";
request = createXMLHttpRequest();
request.open("GET", url, true);
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
//受信完了時の処理
clearInterval(timerId); //タイマーを終了する
//結果を表示
document.getElementById("result").innerHTML = '通信に成功しました。'
}
}
request.send("");
//状態を表示
document.getElementById("result").innerHTML = '通信中です。';
}
//タイムアウトの処理
function timeout() {
//タイマーを終了する
clearInterval(timerId);
//通信を中断する
request.abort();
//エラーメッセージを表示
document.getElementById("result").innerHTML = 'タイムアウトです。';
}
CGIのソースコード
#!/usr/bin/perl
use strict;
#現在時刻が偶数秒なら5秒待機する
sleep(5) if ((localtime(time))[0] % 2 == 0);
print "Content-Type: text/plain; charset=Shift_JIS\n";
print "Pragma: no-cache\n";
print "Cache-Control: no-cache\n";
print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n\n";
print "ok";
このページは、「パラメータを送信する」のサンプルプログラムです。