2016-04-28 3 views
0

Ich versuche, Daten aus einer Rückruffunktion zurückzugeben, aber es funktioniert nicht ... Stattdessen gibt es nur "undefined" zurück.versucht, Daten von einer verschachtelten Callback-Funktion zurückgeben

-Code (JS):

var apiUrl = "/dev/mysqlApi/api.php"; 
function api(actionType, newArray) 
{ 
    if(typeof newArray == "undefined") 
    { 
     $.ajax({ url: apiUrl, type: "POST", data: { actionType: actionType }, success: function(data){ returnData(data); } }); 
    } 
    else 
    { 
     $.ajax({ url: apiUrl, type: "POST", data: { actionType: actionType, newArray: newArray }, success: function(data){ returnData(data); } }); 
    } 
    function returnData(data) 
    { 
     return data; 
    } 
    return returnData(); 
} 
+0

Wo nennst du 'api' Funktion? –

+0

in einem HTML-Dokument: 'alert (api (" setArray "," test2 "));' – Jojo01

+0

sollten Sie es nicht so tun. Was auch immer Sie mit zurückgegebenen Daten tun möchten, sollten Sie in der Ajax-Callback-Funktion tun. –

Antwort

0

die Daten zu erhalten:

function api(successCallback) { 
    $.ajax({ 
    //stuff here 
    success: successCallback 
    }); 
} 

dann rufen Sie es mit:

api(function(data) { 
    console.log(data); 
}); 

Ajax-Aufrufe asynchron sind.

Verwandte Themen