Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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_Jquery - Fatal编程技术网

Javascript 如何将参数传递给ajax回调函数

Javascript 如何将参数传递给ajax回调函数,javascript,jquery,Javascript,Jquery,成功回调函数可以很好地访问和读取id变量,但由于ajax调用是非阻塞的,因此id不会在启动ajax请求之后但在得到响应之前使用另一个函数f()调用进行更改吗?如何在请求ajax调用时保存并传递id?不,它不会更改。它将使用自己的成功回调启动一个全新的ajax请求。最有可能在第一次更新后的某个时间解决。即使在服务器返回响应之前再次调用f(),这也是正确的。您的范围将被保留 id不会随另一个函数f()调用而更改 否,因为每次调用函数时,都会创建作为参数传递的变量的副本 考虑以下情况: 设a=1;

成功回调函数可以很好地访问和读取
id
变量,但由于ajax调用是非阻塞的,因此
id
不会在启动ajax请求之后但在得到响应之前使用另一个函数
f()
调用进行更改吗?如何在请求ajax调用时保存并传递
id

不,它不会更改。它将使用自己的成功回调启动一个全新的
ajax
请求。最有可能在第一次更新后的某个时间解决。即使在服务器返回响应之前再次调用
f()
,这也是正确的。您的范围将被保留

id不会随另一个函数f()调用而更改

否,因为每次调用函数时,都会创建作为参数传递的变量的副本

考虑以下情况:

设a=1;
功能更改(参数){
参数=2;
控制台日志(param);
}
更改(a);

控制台日志(a)这称为闭包。成功回调是一个可以访问外部作用域的闭包。如果f()被多次调用,每个函数仍将访问其id变量的“版本”。
function f(id) {
    $.ajax("http://example.com/example",{
        success:function(data, textStatus, jqXHR){
            $("#"+id).text(data);
        }
    });
}