我有这个简单的代码来从外部源获取元素
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。我怎么能解决这个问题?
答案 0 :(得分:0)
通过onload,你的意思是多个ajax.send?这可能不是问题。
可能只是返回的ajax没有返回与您的选择器(磁铁)匹配的东西,或者您的服务器没有正确回答所有请求?用一个简单的console.log替换你的console.log(&#34;这里是龙&#34;);
如果ajax从同一服务器获取页面,则应检查日志,查看您有多少请求,以及是否始终正确回复。当并行请求太多时,某些服务器将返回50x错误,或者在loadPage函数中放置一个断点,暂停将足以让服务器及时处理所有内容。