我使用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,所以数组是空的; 这有什么问题。阵列应该可用 以后的功能。谢谢你的建议。
答案 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);
});
};
});`