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即可。