我迷路了。 我怎么可能会传递一个循环变量的AJAX .done()调用?
for (var i in obj) {
$.ajax(/script/).done(function(data){ console.log(data); });
}
很显然,如果我是这样做console.log(i+' '+data)
我将返回该对象中的最后一个关键的obj
上的每一个迭代。 文档失败我。
我迷路了。 我怎么可能会传递一个循环变量的AJAX .done()调用?
for (var i in obj) {
$.ajax(/script/).done(function(data){ console.log(data); });
}
很显然,如果我是这样做console.log(i+' '+data)
我将返回该对象中的最后一个关键的obj
上的每一个迭代。 文档失败我。
您可以使用闭合(通过自执行的函数)来捕获的价值i
为这样的循环在每次调用:
for (var i in obj) {
(function(index) {
// you can use the variable "index" here instead of i
$.ajax(/script/).done(function(data){ console.log(data); });
})(i);
}
您可以在“本”的时候,承诺的回调是由在您发送给$阿贾克斯()对象只需要创建一个自定义字段,这将是一个字段。
例如:
$.ajax( { url: "https://localhost/whatever.php", method: "POST", data: JSON.stringify( object ), custom: i // creating a custom field named "custom" } ).done( function(data, textStatus, jqXHR) { var index = this.custom; } );