ajax中同步与异步的一个小区别

来源:互联网 发布:淘宝大类目有哪些 编辑:程序博客网 时间:2024/04/27 21:27

第一种情况:异步请求:xhr.open('post','check_name.do',true);

function check_name(){

 var flag=false;
xhr.open('post','check_name.do',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);

return flag;

这里alert(flag)的结果为false,return返回为false。程序依次执行,不会等待从服务器返回后执行状态处理函数的


第二种情况:同步请求xhr.open('post','check_name.do',false);

这里alert(flag)的结果为true,return返回为true。执行了xhr.send()之后,再等待从服务器返回后执行状态处理函数,然后执行return


一般在等待表单验证登录时,可以采用同步请求方式,通常情况下都用异步请求方式。

原创粉丝点击