XMLHTTP异步获取返回值的代码超时测试(AJAX)

缸门偏左L

缸门偏左L

2016-02-19 22:31

下面,图老师小编带您去了解一下XMLHTTP异步获取返回值的代码超时测试(AJAX),生活就是不断的发现新事物,get新技能~

客户端文件,请修改文件名为: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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

/body/html

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

服务器端文件,请修改文件名为:test_s.asp

%
dim i
dim r
dim t
dim lngGetI
lngGetI=request.querystring("geti")

on error resume next
lngGetI=clng(lngGetI)
if err0 then
response.write "GetError: not isnumber()"
response.end()
end if

if lngGetI0 or lngGetI500000 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 & "abr"
end if
next

response.write "run timer:" & cdbl(timer()-t) & "br"
response.write r

%

展开更多 50%)
分享

猜你喜欢

XMLHTTP异步获取返回值的代码超时测试(AJAX)

Web开发
XMLHTTP异步获取返回值的代码超时测试(AJAX)

xmlHTTP返回值重编码的优化

Web开发
xmlHTTP返回值重编码的优化

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XmlHttp异步获取网站数据的例子

电脑网络
XmlHttp异步获取网站数据的例子

jquery 打开窗口返回值实现代码

Web开发
jquery 打开窗口返回值实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ajax 异步获取数据实现代码 (js创建ajax对象)

Web开发
ajax 异步获取数据实现代码 (js创建ajax对象)

关于EJB返回值的解决方案

编程语言 网络编程
关于EJB返回值的解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

由浅入深完全掌握Ajax之Ajax 简介

由浅入深完全掌握Ajax之Ajax 简介

Win7系统宽带连接报错711怎么办?

Win7系统宽带连接报错711怎么办?
下拉加载更多内容 ↓