1
配列を内部に持つjsonドキュメントを呼び出す関数ajaxCall()があります。 xmlhttp.responseTextから返されたデータは、配列arrayImagesに格納されます。私はその配列の長さ、arrayImages.lengthが必要なので、関数ajaxCall()の外で配列arrayImagesにアクセスする必要があります。onreadystatechange以外の配列にアクセスする方法(スコープの問題)
function ajaxCall(){
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
arrayImages = JSON.parse(xmlhttp.responseText);
output(arrayImages);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
私はonreadystatechange
は非同期関数であるので、それはあなたの配列が返さなければならないとき、あなたは確実に知ることができない
var arrayLength = arrayImages.length;
*範囲*問題ではなく、タイミング問題です。あなたのXHRは非同期で、HTTP要求が進んだときにのみ状態変更コールバックが呼び出されます。 – Pointy