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);
}
});
}