客戶端文件,請修改文件名為:test_2.htm
<script language=Javascript>
var oDiv
var xh
function getXML()
{
oDiv = document.all.m;
oDiv.innerHtml = "正在裝載欄目數據,請稍侯....... ";
oDiv.style.display = "";
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady;
xh.open("POST",a.value + "?geti=" + geti.value,true);
//alert("geti=" + geti.value);
xh.send();
}
function getReady()
{
if(xh.readyState==4)
{
if(xh.status==200)
{
oDiv.innerHtml = xh.responseText;
oDiv.innerHTML = oDiv.innerHtml + "load over"
}
else
{
oDiv.innerHtml = "抱歉,裝載數據失敗。原因: " + xh.statusText
// 我測試了,一旦運行時間過長會出現:抱歉,裝載數據失敗。原因: Internal Server Error
// 但是這個時間是多少呢?在哪裡設定呢?
}
}
else
{
oDiv.innerHtml = "已經有數據了,不過readyState檢測未通過<br>";
switch (xh.readyState){
case 0:
oDiv.innerHTML = oDiv.innerHtml + "0 (未初始化) 對象已建立,但是尚未初始化(尚未調用open方法)";
break;
case 1:
oDiv.innerHTML = oDiv.innerHtml + "1 (初始化) 對象已建立,尚未調用send方法"
break;
case 2:
oDiv.innerHTML = oDiv.innerHtml + "2 (發送數據) send方法已調用,但是當前的狀態及http頭未知"
break;
case 3:
oDiv.innerHTML = oDiv.innerHtml + "3 (數據傳送中) 已接收部分數據,因為響應及http頭不全,這時通過responseBody和responseText獲取部分數據會出現錯誤, "
break;
case 4:
oDiv.innerHTML = oDiv.innerHtml + "4 (完成) 數據接收完畢,此時可以通過通過responseBody和responseText獲取完整的回應數據"
break;
default:
oDiv.innerHTML = oDiv.innerHtml + xh.readyState + "未知狀態"
break;
}
oDiv.innerHTML = oDiv.innerHtml + "。請等待"
}
}
</script>
</body></Html>
服務器端文件,請修改文件名為:test_s.ASP
<%lngGetI=request.querystring("geti")
on error resume next
lngGetI=clng(lngGetI)
if err<>0 then
response.write "GetError: not isnumber()"
response.end()
end if
if lngGetI<0 or lngGetI>500000 then
lngGetI=10000
end if
response.write "Run Repeat At:" & lngGetI & "<br>"
t=timer
for i=1 to lngGetI
r = r & i
if i mod 20 = 0 then
r= r & "a<br>"
end if
next
response.write "run timer:" & cdbl(timer()-t) & "<br>"
response.write r
%>