我需要将额外的变量传递给jQuery,ajax回调函数。
例如,给定:
while (K--)
{
$.get
(
"BaseURL" + K,
function (zData, K) {ProcessData (zData, K); }
);
}
function ProcessData (zData, K)
{
console.log (K);
}
ProcessData()
每次都会报告0(或K的最后一个值是)。如何确保
ProcessData()
用正确的K值触发或可以获取正确的K值?没有将
$get()
包装在函数中的方法吗? 最佳答案
否。由于闭包的工作方式,所有内部函数都将在同一个K变量(最终等于0)上关闭。您需要在某处附加一个间接级别来创建单独的作用域。例如。:
while (K--)
{
(function(K)
{
$.get
(
"BaseURL" + K,
function (zData, status) {ProcessData (zData, K); }
);
})(K);
}
同样,不应将成功函数的第二个参数称为K。该参数将获得状态,然后将其阴影在所需的K上。
关于javascript - 如何将参数传递给jQuery ajax请求的回调?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3182423/