第一种情况:异步请求:xhr.open('post','check_name.do',true);
function check_name(){
xhr.open('post',true);
xhr.setRequestHeader('content-type',
'application/x-www-form-urlencoded');
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
var txt=xhr.responseText;
document.getElementById("username_msg").innerHTML=txt;
flag=true;
}
};
xhr.send('username='+text);
alert(flag);
returnflag;
这里alert(flag)的结果为false,return返回为false。程序依次执行,不会等待从服务器返回后执行状态处理函数的
第二种情况:同步请求xhr.open('post',false);
这里alert(flag)的结果为true,return返回为true。执行了xhr.send()之后,再等待从服务器返回后执行状态处理函数,然后执行return
一般在等待表单验证登录时,可以采用同步请求方式,通常情况下都用异步请求方式。
原文链接:https://www.f2er.com/ajax/166320.html