questions = new Array();
$.getJSON('questions.php', function(data){
$.each(data , function(i,jsonData) {
questions[1] = "hey";
});
});
alert(questions[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]);
});
あなたの「質問」配列は何にも設定されていないため、「未定義」です。コールバック関数内にアラート コードを追加するか、関数を呼び出してユーザーに警告します。