关于$.ajax 返回返回值问题

一般情况下ajax默认的是异步的也就是async:true;

function  getdata()

{

                var url=$("#posturl").val();

                var test="1";
                $.ajax({
                    url:url,
                    type:"POST",
                     //async:false,
                    dataType:"text",
                    data:
                    {
                        data:treeNode.id
                    },
                    success:function(data){
                        test=data;//此时data=2;
                    }
                });
               return test;

}

此函数的返回值为初始化的‘1’;这是因为Jquery的ajax是异步的,所以大多时候没执行完AJAX就return 1了,所以会一直返回1

但是如果加上async:false,就发送同步请求。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

function  getdata()

{

                var url=$("#posturl").val();

                var test="1";
                $.ajax({
                    url:url,
                    type:"POST",
                     async:false,
                    dataType:"text",
                    data:
                    {
                        data:treeNode.id
                    },
                    success:function(data){
                        test=data;//此时data=2;
                    }
                });
               return test;

}

此时的返回值为2;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值