getJSON不允许数组通过
getJSON wont allow array to pass through
function near_home(lat,long,miles) {
var url = "api_url";
var places = [];
$.getJSON(url, function(data) {
$.each(data['results'], function(i, place) {
places.push(place);
});
console.log(places);
});
console.log(places);
return places;
}
所以第一个console.log()将返回所需的对象。但是第二个控制台方法的结果是空数据。我把这个东西重写了好几遍,但似乎找不到这种疯狂的原因。我错过了什么?
AJAX请求是异步的。您需要在回调中执行以下所有代码。
一个可能的解决方案是:
function near_home(lat,long,miles,cb) {
var url = "api_url";
var places = [];
$.getJSON(url, function(data) {
$.each(data.results, function(i, place) {
places.push(place);
});
cb(places);
});
}
使用该函数时,像这样调用它:
near_home(lat, long, miles, function(places) {
// your code using the returned array
});
getJSON()
方法是异步的,因此在第二个console.log-statement中不会填充位置。
相关文章:
- 我需要迭代一个JSON数组——不知道如何做到——已经搜索过了,但仍然可以'我一点也不知道
- 通过AJAX从具有LazyLoadingEnabled=true的EF返回的数组不正确
- For循环与数组不起作用
- Lodash 从与值数组不匹配的数组中获取项目
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- 文本框搜索/Javascript函数数组**不对应**
- 带有附加元素的新数组不会可视化
- 映射 jQuery 对象的数组不起作用
- Javascript-自定义数组不起作用
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 函数中的Javascript数组不起作用
- Knockout.js多个可观察数组不工作
- 角度数组不会显示嵌套数组
- Js browserify 需要从字符串数组不起作用
- Javascript 对象数组不返回正确的值
- 使用 Moment.js 制作本周日期的数组不会添加到数组中
- 使用 JavaScript 比较 2 个数组并创建一个新的对象数组,该数组不包含与 id 字段匹配的对象
- 确保我的随机值数组不包含重复值
- Dojo JsonRestStore 的数组不在 JSON 响应的根级别
- 节点.js遍数组不显示整个对象