获取jQuery中Ajax函数的返回值

今天在写jquery的ajax方法的时候想获取回调函数中的返回值,但是怎么也获取不到,因为是jquery的方法中嵌套jquery的方法,导致作用域也不好使变量传递数据。

比如像如下的代码:

1 $("talbe>td").each(function(){
2 .........
3 $.get('xxxx',function(data){
4 return xxxxx;
5 });
6 .........
7 });

在这种情况下想获取$.get方法中回调函数的return的话就很困难,其实我们可以换种方法来解决这个问题,为何不把data的数据提交到回调函数以外的地方进行处理,这样就会避免内层的数据无法向外层传递。

查看jquery手册发现有一种比较好的解决方案:

var str = $.ajax({type: "POST",
       url: "/login/updateEmail/",
       async:false,
       cache:false,
       data: "email="+email+"&uid="+uid,
       success: function(){
         signUpAlert.successAlert();
       } }).responseText;

这样就可以通过ajax来获取返回值,注意这里使用了async:false  jQuery中的解释是:

 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。


你可能感兴趣的:(获取jQuery中Ajax函数的返回值)