我的函數在下面進行調用,因爲它是一個無效的JSON對象,我必須手動將結果解析爲有效的JSON對象。問題是當我傳遞JSON對象回到原始調用函數時,對象無法正確傳回。在函數之間傳遞JSON對象的時間問題創建錯誤
如果我只把第三個警報放在它裏面會說對象的'無效'。但是,如果我把所有三個警報放入,只有警報2會說無效(1和3將顯示對象)。這使得相信這可能是在這些變量之間傳遞對象的某種類型的時序問題。任何關於如何解決這個問題的建議,因爲我顯然不能在我的最終代碼中放置警報。
function loadDocuments(){
var myDocuments = getDocs();
alert('third response ' + myDocuments);
}
function getDocs() {
var myURL = "someURL";
var response;
$.ajax({
url: myURL,
type: 'GET',
dataType: 'json',
complete: function(docData) {
if(docData.status==200){
response = parseDocResults(docData.responseText);
alert('first response' + response);
}else{
response = "Documents failed to load";
}
}
});
alert('second response' + response);
return response;
}
AJAX是異步的,在這裏你返回值邏輯不能作品 –
但我不觸發回調,直到「完整」 – silvster27
反正有沒有做到這一點? (解析結果並將它們傳回)? – silvster27