客户端文件,请修改文件名为:test_2.htm <html> <body> xmlhttp异步的例子: URL: <input name=a type=textbox value="test_s.asp" style="width:600px" > <input onclick= "getXML()" type= "button" value= "得到源代码"> <input name=geti type=textbox value="10000"> <input onclick= "if(xh && xh.responseText) {alert(xh.responseText);oDiv.innerHTML=xh.responseText} " type= "button" value= "显示源代码 " > <div id=m style="display:none"></div>
<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 <%dim idim rdim tdim lngGetI
lngGetI=request.querystring("geti")
on error resume nextlngGetI=clng(lngGetI)if err<>0 then response.write "GetError: not isnumber()" response.end()end if
if lngGetI<0 or lngGetI>500000 then lngGetI=10000end if
response.write "Run Repeat At:" & lngGetI & "<br>"
t=timerfor i=1 to lngGetI r = r & i if i mod 20 = 0 then r= r & "a<br>" end ifnext
response.write "run timer:" & cdbl(timer()-t) & "<br>"response.write r
%>
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18