您的位置:首页 > 其它

Ajax异步访问远程服务并设置超时

2011-11-14 10:36 190 查看
输入卡号:
验证结果:
<html>
<head>
<script type="text/javascript">

var xmlHttp=null;
var havereturn=false;
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
try
{// Firefox, Opera 8.0+, Safari, IE7
xmlHttp=new XMLHttpRequest();
}
catch(e)
{// Old IE
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
}

xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
if(!havereturn){
//你处理返回结果的代码
clearTimeout(cleaeTO);
alert(xmlHttp.responseText);
}
}
havereturn=true;
}
}

havereturn=false;
var url="http://127.0.0.1:8089/webbfp/black.htm?cardid=" + str;
xmlHttp.open("post",url,true);//false则不用写callback回调函数 true则需要写
var cleaeTO = setTimeout(function()  /*重点,在请求发布后开始设置setTimeout,如果请求状态不成功也就是readyState != 4 那么setTimeout将会在5秒后运行,并弹出信息提示,要是请求成功,将会清除该setTimeout*/
{
xmlHttp.abort(); //终止XMLHttpRequest对象
alert("系统异常,请您刷新页面或稍后再试….");
},5000);
xmlHttp.Send(null);

//document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
</script>
</head>
<body><form>
输入卡号:
<input type="text" id="txt1"
onBlur="showHint(this.value)">
</form><p>验证结果: <span id="txtHint"></span></p> </body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: