多个xhr onload

时间:2014-12-24 12:51:36

标签: 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()
    {
        console.log(ajax.responseXML.querySelectorAll("a[href^='magnet']")[0].getAttribute("href"));
    }   
    ajax.send();
}

但是当我读取控制台时,我得到的结果只有2或3而不是10.我认为是因为我无法运行多个onload。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

通过onload,你的意思是多个ajax.send?这可能不是问题。

可能只是返回的ajax没有返回与您的选择器(磁铁)匹配的东西,或者您的服务器没有正确回答所有请求?用一个简单的console.log替换你的console.log(&#34;这里是龙&#34;);

如果ajax从同一服务器获取页面,则应检查日志,查看您有多少请求,以及是否始终正确回复。当并行请求太多时,某些服务器将返回50x错误,或者在loadPage函数中放置一个断点,暂停将足以让服务器及时处理所有内容。

相关问题