Function JavaScript函数返回一些值
我已经定义了一个JavaScript函数Function JavaScript函数返回一些值,function,javascript,Function,Javascript,我已经定义了一个JavaScript函数 function a() { var data = 'some data'; $.getJSON(networkController,data,function(r) { $.each(r, function(a) { alert(r[a].networkAccessToken); }); }); } 它工作得很好,但当我这样做时:
function a()
{
var data = 'some data';
$.getJSON(networkController,data,function(r) {
$.each(r, function(a)
{
alert(r[a].networkAccessToken);
});
});
}
它工作得很好,但当我这样做时:
function a()
{
var data = 'some data';
$.getJSON(networkController,data,function(r) {
$.each(r, function(a)
{
return r[a].networkAccessToken;
});
});
}
var c = a();
alert(c);
警报未定义 认识到AJAX调用是非阻塞的,这一点很重要。这意味着它在从服务器收到响应之前返回。(第一个“A”代表“异步”!) 处理此问题的最常用方法是使用:
认识到AJAX调用是非阻塞的,这一点很重要。这意味着它在从服务器收到响应之前返回。(第一个“A”代表“异步”!) 处理此问题的最常用方法是使用: 你有两个问题 首先,异步JavaScript和XML是异步的。调用
$.getJSON
时,它会发送一个HTTP请求,并注册一个函数,以便在数据返回时运行。然后,它在等待的同时运行现有函数,得到一个
实际上,您正在尝试执行以下操作:
function a() {
$('button').click(function () { return 1; });
}
foo = a(); // Would you expect this to be `1` and not `undefined`?
其次,每个
为每个值调用一个函数。传递给each
的函数由each
调用,而不是getJSON
或a
。其返回值仅确定循环是否应继续
在传递给每个的函数中,您需要执行您想执行的任何操作。您无法将数据传递回调用链。您想要传递回的内容不再存在。您有两个问题
首先,异步JavaScript和XML是异步的。调用$.getJSON
时,它会发送一个HTTP请求,并注册一个函数,以便在数据返回时运行。然后,它在等待的同时运行现有函数,得到一个
实际上,您正在尝试执行以下操作:
function a() {
$('button').click(function () { return 1; });
}
foo = a(); // Would you expect this to be `1` and not `undefined`?
其次,每个
为每个值调用一个函数。传递给each
的函数由each
调用,而不是getJSON
或a
。其返回值仅确定循环是否应继续
在传递给每个的函数中,您需要执行您想执行的任何操作。您无法将数据传递回调用链。您要传回的内容已不存在。再次检查…..语法正确,请给出总代码您如何从数据库中获取值?你确定值解析正确吗?我们能看到为b设置值的代码吗?或者是什么。如果函数a()是ajax调用的回调函数,那么如果你直接调用它,它将不会有值b,除非由ajax引擎异步调用。@Ranamumhammadusman,请将上面的代码添加到问题中。再次检查…..这是正确的语法,从其他方面给出总代码您如何从数据库中获取值?你确定值被正确解析了吗?我们能看到为b设置值的代码吗?或者是什么。如果函数a()是ajax调用的回调函数,那么如果你直接调用它,它将不会有值b,除非由ajax引擎异步调用。@Ranamumhammadusman,请将上面的代码添加到问题中。这样不好吗return$(r,function(){return r[a].networkAccessToken;});
这不正常吗return$.each(r,function(){return r[a].networkAccessToken;});