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

来源:互联网 发布:excel相同数据计数 编辑:程序博客网 时间:2024/05/21 17:51
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即可。
0 0
原创粉丝点击