浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法

时间:2021-09-24 10:28:37

  本篇文章主要是对jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

function ManageCommentText(text) {
  var result = text;
     $.ajax({
     data: "get",
     url: "GetComments.aspx",
     data: "type=getText&commentText=" + text,
     cache: false,
     async: false,
     success: function (data) {
        result = data;
     }
  })
  return result;
}

 以上方法是ajax的同步调用,只有在获取到了data值并赋值给result以后才会返回result完成该方法的调用。若设为async:true,
则会未等到获取data值就已经返回了result。

另一个解决办法就是将你的代码直接写到success方法里。(根据你的业务并不是所有的都可以直接写到success里的)。

注意:如果设定为 async: false,就失去 ajax异步的优点了。

 

转载自:http://www.jb51.net/article/45432.htm