簡體   English   中英

如何從ajax調用函數返回值

[英]How to return value from an ajax call function

我有一個功能

function GetITStaffList(){
    var go_path = "Server/ITComplains.php?action=GetITStaffList&vars=0";
    $jqLibrary.get(go_path,
        {}, function(data)
        {
            var parseData = JSON.parse(data);
            console.log("GetPendingAndInProgressComplainsByGeneratorId : ", parseData);

            return parseData;
        });
}

我在這樣的代碼中的某個地方稱呼它

var ITStaffList = GetITStaffList();
MakeDropDownITStaff(ITStaffList);

但是問題是每次它返回null時。 我知道我必須使用回調和諸如Promise之類的東西,但是我不適合在我的上下文中使用它。 如何編寫帶有ajax調用的可重用函數,該函數可按需返回數據?

代替諾言。

function GetITStaffList(){

    return new Promise(function(resolve){

       var go_path = "Server/ITComplains.php?action=GetITStaffList&vars=0";
       $jqLibrary.get(go_path,
           {}, function(data)
           {
               var parseData = JSON.parse(data);
               console.log("GetPendingAndInProgressComplainsByGeneratorId : ", parseData);

            resolve(parseData);    //Notice this
        });
    })
}

現在您可以調用該函數並等待數據。

GetITStaffList().then(function(data){
    console.log(data)
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM