Passing variables to $.ajax().done()
ajax, jquery, loops, promise, scoping
Solution
You can use a closure (via a self executing function) to capture the value of `i` for each invocation of the loop like this:
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);
}
Problem
I'm lost. How might I pass a loop variable to an AJAX .done() call? ``` for (var i in obj) { $.ajax(/script/).done(function(data){ console.log(data); }); } ``` Obviously, if I were to do `console.log(i+' '+data)` i would return the very last key in the object `obj` on every single iteration. Documentation fails me.