我想用pokeapi创建一个pokedex。前20个http://pokeapi.salestock.net/api/v2/pokemon/?offset=20存储在http://pokeapi.salestock.net/api/v2/pokemon/中,下一个存储在pokemons 40,60中,以此类推。所以我的问题是我只能把前20个或者最后20个口袋妖怪推入我的数组。我认为问题出在请求obj上。那么我如何将第一个151精灵推送到我的数组中呢?
var allPages= [20,40,60,80,100,120,140];
var request = new XMLHttpRequest();
var allPokemon =[];
function firstPage(){
request.open('GET', 'http://pokeapi.salestock.net/api/v2/pokemon/', true);
request.onload = function () {
var data= JSON.parse(this.response);
for(var i=0; i<20; i++){
allPokemon.push(data.results[i].name);
}
};
request.send();
}
function remaining(){
for (var i=0;i<allPages.length;i++){
var url = "http://pokeapi.salestock.net/api/v2/pokemon/?offset="+allPages[i];
request.open('GET', url, true);
request.onload= function(){
var data = JSON.parse(this.response);
for(var j=0; j<20; j++){
allPokemon.push(data.results[j].name);
}
};
}
request.send();
}
firstPage();
remaining();
console.log(allPokemon);
发布于 2019-01-04 03:38:17
您可以设置超过20的限制。我不知道您可以获得的最大值是多少,但我可以看到,即使是1000也不是限制,我认为您不希望这个请求占用大量时间。
http://pokeapi.salestock.net/api/v2/pokemon/?limit="your-limit“
发布于 2019-01-04 03:46:25
是的,您需要为您发送的每个HTTP请求创建一个新的XMLHttpRequest对象。它不工作的原因是,实际上只发送了您尝试的第一个HTTP请求。
https://stackoverflow.com/questions/54028649
复制相似问题