Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要Javascript回调ajax解释_Javascript_Ajax_Callback - Fatal编程技术网

需要Javascript回调ajax解释

需要Javascript回调ajax解释,javascript,ajax,callback,Javascript,Ajax,Callback,我希望有人能为我解释一下。 我使用嵌入的ajax调用调用函数: getstuff(indata, function (out1,out2) { aaa= out1; bbb=out2; }) getstuff中的成功函数如下所示: success: cb 当我们完成时,“aaa”被数据填充,“bbb”是“成功”,这是什么 success(data, textStatus, jqXHR) 说他们应该是。 但我真的不确定o

我希望有人能为我解释一下。 我使用嵌入的ajax调用调用函数:

getstuff(indata, function (out1,out2) {
            aaa= out1;
            bbb=out2;
            })
getstuff中的成功函数如下所示:

success: cb
当我们完成时,“aaa”被数据填充,“bbb”是“成功”,这是什么

success(data, textStatus, jqXHR)
说他们应该是。 但我真的不确定out1和out2是如何知道它们的。当这些是输入参数时,函数如何知道out 1是数据,out2是文本状态? 我相信好的解释会有很大帮助。
谢谢

这些值在
$.ajax
中传递给回调函数。这正是您已经发布的方式,在内部的某个地方,回调被称为
success(data,textStatus,jqXHR)
<代码>数据,
文本状态
jqXHR
只是变量

您可以为参数指定任何名称。函数知道
out1
data
,因为它是传递给函数的first参数,所以它将名称
out1
与之关联。类似于
out2

下面是一个非常简单的例子:

function foo(callback) {
    var someData = 'someValue';
    callback(someData);
}

foo(function(someParameterName) {
    console.log(someParameterName);
});
函数参数的名称与传递的变量的名称没有任何关系,回调也没有什么神奇之处,它们只是函数,它们的工作方式没有任何不同。如果你看到这个

var a = 1,
    b = 2;

function foo(out1, out2) {
    console.log(out1, out2);
}

foo(a, b);
你想知道为什么
out1
1
out2
2