我需要将额外的变量传递给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?
解决方法:
否.由于闭包的工作方式,所有内部函数都将在同一个K变量(最终等于0)上关闭.您需要在某处附加一个间接级别来创建单独的作用域.例如.:
while (K--)
{
(function(K)
{
$.get
(
"BaseURL" + K,
function (zData, status) {ProcessData (zData, K); }
);
})(K);
}
另外,不应将成功函数的第二个参数称为K.该参数将获得状态,然后将其阴影在所需的K上.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。