2016-04-28 14 views
0

コールバック関数からデータを返そうとしていますが、機能しません... 代わりに "undefined"が返されます。ネストされたコールバック関数からデータを返そうとしています

コード(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

どこで 'api'関数を呼び出しますか? –

+0

をHTML文書に置き換えます: 'alert(api(" setArray "、" test2 "));' – Jojo01

+0

あなたはこのようにすべきではありません。返されるデータで何をしたいかは、ajaxコールバック関数で行う必要があります。 –

答えて

0

データを取得するには:

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

その後、使用してそれを呼び出す:

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

Ajaxの呼び出しは非同期です。

関連する問題