Jquery 跨多个ajax调用存储数据

Jquery 跨多个ajax调用存储数据,jquery,ajax,get,Jquery,Ajax,Get,我正在进行一个ajax调用,以获取数据库中的所有图像。 对于返回的每个图像id,我调用ajax函数来获取图像的缩略图 我有两个数组img_arr,src_arr。img_arr存储第一个ajax调用返回的数据,src_arr存储第二个ajax调用的数据 var img_arr=[],src_arr=[]; function get_all_images(){ $.ajax({ type: 'GET', url: 'get_all_images/',

我正在进行一个ajax调用,以获取数据库中的所有图像。 对于返回的每个图像id,我调用ajax函数来获取图像的缩略图

我有两个数组img_arr,src_arr。img_arr存储第一个ajax调用返回的数据,src_arr存储第二个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);
}
var img_arr=[],src_arr=[];
函数get_all_images(){
$.ajax({
键入:“GET”,
url:“获取所有图片/”,
成功:功能(数据){
parsedData=jQuery.parseJSON(数据);
if(parsedData.length!=0){

对于(var i=0;i,将有大量的服务器端调用


只是一个想法:为什么不在服务器上获取所有图像及其关联的缩略图,然后只进行一次ajax调用以获取图像+拇指?

当您使用console.log点击代码的最后一行时,这些ajax调用还没有返回。这就是为什么数组都是零长度的。您的成功很有趣Action是一个回调,这意味着在ajax调用发出到服务器,然后服务器将其响应发送回浏览器之前,代码不会运行。同时,您的代码不会等待,它会继续运行。因此,它发出了一系列请求,但几乎可以肯定,在任何请求返回之前,它会到达console.log行(除非有成百上千的请求)


在任何情况下,我都同意前面的海报,即您应该尝试将这些内容打包,而不是发出一堆小请求。当您开始加载时,您的服务器会感谢您。

我不确定我是否理解,您是否使用ajax get请求来获取图像?