ajax請求返回值賦值問題

原文鏈接:https://blog.csdn.net/csdn15679160266/article/details/85110175

在發起異步ajax請求的時候,期望在返回回調函數中將返回值賦值給前面的全局變量出現的問題:
var a;
$.post(url,function(data){
    a = data;
});

console.log(a);
這裏的a打出來是undefined的;

究其原因,因爲ajax請求默認是異步請求,所以js解釋執行的時候是不會進行等待ajax的返回,而是會直接進行下一步解釋
執行,所以在回調函數中的賦值也沒有效果;

解決:
1、可以將ajax請求的默認異步方式修改爲同步方式這樣可以賦值成功,即等待ajax請求的結果返回;
async:false;
$.ajax({
    method:post,
    url:url,
    data:data,
    async:false,
    success:function(data){
        //回調方法
    }
})
2、另一種方法則是需要進行初始化的數據、方法直接在ajax請求裏面執行這樣也可以處理;
--------------------- 
版權聲明:本文爲CSDN博主「誰取了我的半角」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/csdn15679160266/article/details/85110175

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章