次のコードでは、関数内のアラートは正常に機能しますが、2 番目のコードには未定義の変数がありますが、関数の外側で変数を宣言しています。どうしてこれなの?
var data = [];
$.post(
'matchEngine.php',
function(data) {
for (var i = 0, len= data.length;i <len; i++) {
for ( h = 0, len2= data[i].length;h <len2; h++) {
data[i][h][0]=(data[i][h][0])*30;
data[i][h][1]=(data[i][h][1])*30;
data[i][h][3]=data[i][h][3].replace(/\"/,"");
}
}
alert(data[0][0][0]);
}
);
alert(data[0][0][0]);
同様の問題が発生している場合は、次の AJAX 呼び出しから応答を返す方法を教えてください。決定的な説明と答えがあります。