さじろーどっとねっと
<同期と非同期の違いを明確にします。>

CGIとの連携は後で書きますが、同期と非同期の違いを分かりやすくするために、Perlスクリプトで1秒間止めてから、返事を返すようにしてあります。

# スクリプトを定義します
<script type="text/javascript">
function on_loaded_test2(oj) {
# 読み込まれた情報をidがtest2に入れます
document.getElementById("test2").innerHTML=unescape(oj.responseText);
}
</script>

# 同期の呼び出しボタンです
<input type=button value="同期" onclick="sendRequest(on_loaded_test2,'','GET','test2.cgi',false)"><br>
# 非同期の呼び出しボタンです
<input type=button value="非同期" onclick="sendRequest(on_loaded_test2,'','GET','test2.cgi',true)"><br>
# 結果を出力する場所です
<span id="test2"></span>

# test2.cgiの中身
=====================
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
sleep(1);
print "wait 1 second.<br>";
exit;
=====================

# 実行結果はこちら

だいぶ分かりやすくなったかと思います。
同期では表示されるまで、ボタンが帰ってきません。非同期は、すぐに帰ってきます。

ブックマークに追加する