2013-03-07 35 views
0
questions = new Array(); 

$.getJSON('questions.php', function(data){ 
    $.each(data , function(i,jsonData) { 
     questions[1] = "hey"; 
    }); 
}); 

alert(questions[1]); 

這裏是代碼。它不工作,給我一個「未定義」。我不明白爲什麼。我不能通過jQuery json解析來修改數組

+2

AJAX表示異步。 – dfsq 2013-03-07 19:14:48

+0

使用數組文字,而不是'new Array()'。 – Ryan 2013-03-07 19:15:18

+0

哦對。 @dfsq – 2013-03-07 19:15:28

回答

0

你的「疑問」數組沒有被設置爲任何東西,因此「未定義」。在那裏的回調函數中添加警報代碼或調用一個函數來提醒用戶。

1

這是回調函數的典型用例。考慮以下示例:

function getQuestions(callback) { 
    $.getJSON('questions.php', function(data){ 
     $.each(data , function(i,jsonData) { 
      questions[1] = "hey"; 
     }); 
     callback(questions); 
    }); 
} 

getQuestions(function(data) { 
    alert(data[1]); 
});