ajax 赋值return

ajax   获得结果后赋值无法成功,

function grades(num){
   var name="";
  $.ajax({
        type:"get",
    url:"",
    async:true,
    success:function(result){
    var grades =result.grades;
    for(var i=0;i<grades.length;i++){
    if(grades[i].id==num){
      name= grades[i].name;
      }
    }
    }
    });
    return name;
  }
alert(grades(num));

当async:true,时,name的值无法被赋到,alert()触发该方法直接为"";需要将async:false;

function grades(num){
   var name="";
  $.ajax({
        type:"get",
    url:"",
    async:false,
    success:function(result){
    var grades =result.grades;
    for(var i=0;i<grades.length;i++){
    if(grades[i].id==num){
      name= grades[i].name;
      }
    }
    }
    });
    return name;
  }
alert(grades(num));

这样,返回的result就可以赋值到name里alert()触发该方法后就可以得到值;

 

posted @ 2017-06-08 17:10  yicho  阅读(233)  评论(0)    收藏  举报