Javascript 多个xhr加载

Javascript 多个xhr加载,javascript,xmlhttprequest,onload,onreadystatechange,Javascript,Xmlhttprequest,Onload,Onreadystatechange,我有一个从外部源获取元素的简单代码 for(var i=0; i<10; i++) loadPage(link[i]); function loadPage(href) { var ajax = new XMLHttpRequest(); ajax.open('get',href); ajax.responseType = 'document'; ajax.onreadystatechange=function() { co

我有一个从外部源获取元素的简单代码

for(var i=0; i<10; i++)
    loadPage(link[i]);

function loadPage(href)
{
    var ajax = new XMLHttpRequest();
    ajax.open('get',href);
    ajax.responseType = 'document';
    ajax.onreadystatechange=function()
    {
        console.log(ajax.responseXML.querySelectorAll("a[href^='magnet']")[0].getAttribute("href"));
    }   
    ajax.send();
}

对于(var i=0;i而言,onload是指多个ajax.send?这可能不是问题所在

可能只是返回的ajax没有返回与您的选择器(磁铁)匹配的内容,或者您的服务器没有正确响应所有请求?将您的console.log替换为简单的console.log(“这里是龙”)


如果您从同一台服务器获取页面,您应该检查日志,看看您有多少个请求,以及您是否总是正确答复。当并行请求过多时,某些服务器将返回50倍的错误,或者在loadPage函数中设置断点,暂停将足以让服务器及时处理所有请求。

Yo你说得对。我遇到很多503错误,所以我认为这就是问题所在。现在我必须处理这个问题。你知道吗?当来自同一IP的请求太多时,服务器阻塞或排队是正常的(例如防止DoS)。至于为什么会发生这种情况以及如何调整,这是一个服务器问题,你可能想问一个新的问题