2013-07-05 55 views
1

我正在通過jQuery與jsonp回調函數進行ajax調用。回調被調用併爲我生成一個列表,我需要返回到原始的alling函數並分配給一個變量。但是,它並沒有得到回傳。我知道我做錯了什麼或者誤解了這個流程的工作原理。請有人指出我正確的方向嗎?這裏是(略)代碼:從ajax jsonp回調獲取列表

function() { 
    ..build url... 
    var multiTargets = getMultiMetrics(url); 
    ...do stuff with list... 
} 



getMultiMetrics = function(url) { 
    $.ajax({ 
    url: url, 
    jsonp : true, 
    jsonpCallback: 'metricCallback', 
    cache: true, 
    dataType : 'jsonp', 
    async: false 
}); 
}; 

metricCallback = function(data) { 
    var items = []; 
    for (var i = data.length - 1; i >= 0; i--) { 
    items.push(data[i].target); 
    }; 
    return items; 
}; 
+0

您是否嘗試過加入:完成? – Botonomous

+0

對於我的無知,我感到抱歉,但我不完全確定我會如何在這種情況下使用它。 .complete在最初的ajax調用中。我如何從jsonp回調中獲取數據? – RockyMountainHigh

+0

它沒有問題:http://api.jquery.com/jQuery.ajax/請參閱'完整'下的設置。 – Botonomous

回答

0

儘量不要使用引號 jsonpCallback: metricCallback, 此參數必須是功能而不是字符串