Функция success
является асинхронной (ей нужно дождаться ответа imdb), поэтому она всегда будет запускаться после завершения всего цикла, поэтому i
внутри этой функции всегда будет быть последним i
.
Самый простой способ обойти это - использовать функцию jQuery each
:
$.each(titles, function (i, value) {
$.ajax({
success: function (data) {
// as usual...
}
});
});
Это работает, потому что функция сохраняет свою собственную область (и, следовательно, свою собственную копию i
).