js和ajax同时使用无返回值的问题

js和ajax同时使用无返回值的问题
如下js:
function getuser(name,type){
 var msg="";
  $.ajax({
   type:"POST",
   url:"../getuserid.do?name="+name+"&type="+type,
   success:function(flag)
   {
      if(flag== "0"){
     alert("您不是我们的用户,请注册后使用本功能!");
     window.location.reload();
     msg=0;
    }
       if(flag== "1")
       {
        msg=1;
       }
   },
   error:function(){
    alert("提交失败,请稍候重试!");
    window.location.reload();
   }
  });
  return msg;
}
使用上面程序发现并没有值返回,即return语句并不起作用,返回的值为空。
解决方法:
只需在前面加上
   async:false,
即可解决
程序如下:
function getuser(name,type){
 var msg="";
  $.ajax({
   type:"POST",
   async:false,
   url:"../getuserid.do?name="+name+"&type="+type,
   success:function(flag)
   {
    //alert("flag="+flag);
    if(flag== "0"){
     alert("您不是我们的用户,请注册后使用本功能!");
     window.location.reload();
     msg=0;
    }
       if(flag== "1")
       {
        msg=1;
       }
   },
   error:function(){
    alert("提交失败,请稍候重试!");
    window.location.reload();
   }
  });
  return msg;
}

猜你喜欢

转载自taoge-tony.iteye.com/blog/2067890