我对使用AJAX还很陌生,我正在编写一个用户脚本,将处理页面上的一堆链接,并为每个链接进行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]值始终为6,而它永远不应该是那样。我假设我需要传递一些数据,以便当.done最终触发时,它知道其在AJAX首次触发时的[i]值,而不是稍后触发.done时的[i]值。
我该如何确保.done在首次调用AJAX时知道它的[i]值?
linkList
是什么,它是一个jQuery对象还是一个数组? - Arun P Johny