以下のコードで AJAX を使用しています。
Javascript :
function CallAJAX() {
var url = "MyAJAX.ashx";
xmlRequest.open("POST", url);
xmlRequest.onreadystatechange = function () { ApplyUpdateCallAJAX() }
xmlRequest.send(null);
}
function ApplyUpdateCallAJAX() {
if (xmlRequest.readyState == 4) {
if (xmlRequest.status == 200) {
var response = xmlRequest.responseText;
document.getElementById("resultDIV").innerHTML = response;
}
}
}
.ashx ファイル (asp.net 内):
...
...
HttpResponse response = context.Response;
response.ContentType = "text/html";
...
response.Write("Connecting...");
// connecting to database - for example takes 10 seconds !
...
response.Write("Reading...");
// reading data from database - for example takes 5 seconds !
...
このようにして、ユーザーは AJAX を 15 秒間待機し、次のような結果が表示されます。
Connecting...Reading...
2つの応答を個別に表示する方法はありますか!?
たとえば、以下に説明する結果を得る方法:
ユーザーは最初に「接続中... 」というテキストを表示し、10 秒後 (接続に時間がかかる!)、テキストが変化し、「読み取り中... ? 」というテキストが表示されます。