【发布时间】:2013-02-08 08:24:07
【问题描述】:
我正在使用 jQuery。我有一个从名为“get_cats”的远程服务器获取数据的函数。我调用它来用返回的值填充一个数组。 AJAX 完成后,我想返回这些值。 但它不起作用,返回的值是未定义的。这是非常基本的,但我看不出它失败的地方。有人知道吗?
$(function () {
var url = "http://someurl.com/service/";
var cats = [];
cats = get_cats(url);
function get_cats(url) {
var categories = [];
$.getJSON(url + "cats", function (data) {
$.each(data, function (i) {
categories.push(data[i].name);
});
return categories;
});
}
$(document).ajaxStop(function () {
console.log(cats); // fails and returns undefined :'(
});
});
【问题讨论】:
-
这样的问题很多,stackoverflow.com/questions/9041321/return-ajax-callback-return 是第一个看起来足够基本的问题。一个简单的搜索就能解决你的问题
-
我对这篇文章投了第二票。你应该花时间了解更多关于 javascript 的知识,因为你需要在这里使用回调,因为 JS 是异步的 :) stackoverflow.com/questions/4506240/…
-
只是一个普通的新手缺乏了解,他为什么会在这里!
-
感谢您帮助我并分享这些链接。我会检查他们。信誉系统有点残忍,虽然我理解这是为了维护论坛的质量^^
标签: javascript jquery ajax json