将get响应插入对象数组

时间:2016-11-30 14:33:04

标签: php jquery arrays

我使用jquery get函数从服务器(Laravel应用程序)检索数据。数据通常是一组对象。简化.js代码如下所示:

$(function(){
    var results = [];
    var getIt = function(){
        $.get('results', function(response){
            $.each(response, function(index, value){
                results.push(value);
            });
        });
    };
    getIt();
    console.log(results.length);
});

但是控制台记录0,所以数组是空的; 这有什么问题。阵列应该可用 以后的功能。谢谢你的建议。

2 个答案:

答案 0 :(得分:0)

您在填充results数组之前使用它。您需要等待GET /results先退回。假设其余代码有效,则以下更改将console.log填充的数组:

$(function(){
    var results = [];
    var getIt = function(){
        $.get('results', function(response){
            $.each(response, function(index, value){
                results.push(value);
            });

            console.log(results.length);
        });
    };
    getIt();
});

答案 1 :(得分:0)

因为$ .get是异步的,所以在调用代码时results变量仍为空。要明白我的意思,试试这个:

$(function(){
    var results = [];
    var getIt = function(){
        $.get('results', function(response){
            $.each(response, function(index, value){
                results.push(value);
            });

           getIt();
           console.log(results.length);
        });
    };


});`