データベース内のすべての画像を取得するためにajax呼び出しを行っています。返された画像IDごとに、ajax関数を呼び出して画像のサムネイルを取得します。
2つの配列img_arr、src_arrがあります。img_arrは最初のajax呼び出しによって返されたデータを格納し、src_arrは2番目のajax呼び出しのデータを格納します。
var img_arr=[],src_arr=[];
function get_all_images(){
$.ajax({
type: 'GET',
url: 'get_all_images/',
success: function(data){
parsedData = jQuery.parseJSON(data);
if(parsedData.length!=0){
for(var i =0;i<parsedData.length;++i){
img_arr.push(parsedData[i]);
// console.log(img_arr.length);
$.ajax({
type: 'GET',
url: 'get_thumb/'+parsedData[i],
success: function(data){
src_arr.push(data);
//console.log(src_arr.length);
}
});
}
}
}
});
console.log(img_arr.length);
console.log(src_arr.length);
}
ただし、最後に両方の配列の長さで0を取得すると。しかし、ajaxのsuccessコールバック内の長さを出力すると、適切な長さの配列が得られます。成功コールバック後にデータを保存して使用する方法はありますか?