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

    xiaoxiao2021-03-25  87

    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即可。
    转载请注明原文地址: https://ju.6miu.com/read-21841.html

    最新回复(0)