簡體   English   中英

並發jQuery ajax請求中的重復數據

[英]Repeated data in concurrent jQuery ajax requests

我正在從網頁上的鏈接表中獲取數據。 當我遍歷表時,我啟動了一系列ajax請求,增加了一個計數器,然后在結束時查看是否全部完成了checkFinished()

同時,我的ajax請求開始完成-所有的URL都不同並且導致不同的內容,但是我打印出的data通常是相同的! 並非全部相同,但在30個請求中,可能會提取6個唯一data

for (var i = 0; i < max; ++i) {
    //...getting the link
    href = a.attr("href")
    console.log("Fetching"+a.innerText);
    $.ajax({
        url:href
    }).done(function(data){
        console.log(href, data); //the data doesn't match the href page!
    })
}

我可以看到,每個調用的href都不同,但是數據與所描述的相同。

至關重要的是,如果我在$.ajax調用中添加async: false ,它就可以完美地工作,因此ajax調用有問題。 我試過沒有其他運氣與其他ajax設置。

有任何想法嗎?

編輯,更新

嘗試

var max = 5;
$("a").slice(0, max).each(function(k, v) {
  console.log("Fetching" + $(v).text());
  $.ajax($(v).attr("href"))
  .done(function(data) {
    console.log(data);
  })
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM