2013-03-07 36 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]); 
});