Я новичок в использовании AJAX, и я пишу usercript, который обрабатывает кучу ссылок на странице и делает вызовы AJAX для каждого из них.
for (var i = 0; i < linkList.length; i++)
{
$.ajax({
url: linkList[i].getAttribute("href"),
cache: false
}).done(function( html )
{
var hasAppended = false;
if (html.indexOf('someStringOnGottenPage') != -1 && !hasAppended)
{
hasAppended = true;
var id = linkList[i].getAttribute("href").substring(linkList[i].getAttribute("href").indexOf('='));
$( "#links a[href*='" + id + "']" ).append(' THIS PAGE CONTAINS SPECIFIED DATA');
}
});
}
Чтобы попросту сказать, у меня есть страница со списком ссылок. Я хочу перебирать ссылки и получать AJAX для обработки содержимого каждой из страниц ссылок и отчитываться, если эта страница содержит что-то определенное.
Проблема, с которой я столкнулась, - это значение [i], используемое для итерации через linkList, всегда 6, и этого никогда не должно быть. Я предполагаю, что мне нужно передать некоторые данные, чтобы, когда .done, наконец, запускает, он знает свое значение [i] с момента запуска AJAX, а не значения [i], когда .done запускает позже.
Как мне обеспечить, что .done знает это значение [i], когда AJAX сначала вызывается?