ajax执行后成功回调函数对外部变量赋值

var popup_list_id;
$.ajax({          
    	url: 'daping/ComparisonDp!getDataByPosition.action',
    	data: {"positionId":'36',"dataType":''},
        type: 'GET',
        dataType: 'json',
        async:false,
        success: function (res) {
		var data = res;
            	for(var i =0; i < data.length; i++){
            		$(".wrap .p4 .p4-1 ul li .text p").eq(i).text(data[i]["title"])
            		$(".wrap .p4 .p4-1 ul li .time .p3 i").eq(i).text(data[i]["source"])
            		$(".wrap .p4 .p4-1 ul li .time .p1 span").eq(i).text(data[i]["create_time"])
                    $(".wrap .p4 .p4-1 ul li").eq(i).data("id",data[i].id)
            	} 
            	popup_list_id = data[0].id;
            },
            error: function (xhr, e, t) {
                console.log(e, t);
            }
        })
alert(popup_list_id);

备注:因为ajax是异步的,所以在success函数回调之前,ajax后面的代码已经执行完,也就是说alert(popup_list_id);在success函数前面执行
所以不能正常赋值。
解决办法:将ajax变成同步,添加一行async:false即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值