问题描述
如何从我通过 XMLHttpRequest 得到的 json 中获取 url、title 和 img?
const base_url = "https://api.jikan.moe/v3"
function random(){
return Math.floor(Math.random() * 99999);
}
function sendRequest(meyhod,base_url){
return new Promise((resolve,reject) => {
var request = new XMLHttpRequest();
var id = random();
request.open('GET',`${base_url}/anime/${id}`);
request.responseType = 'json'
request.onreadystatechange = function () {
if (this.readyState === 4) {
if(this.status !== 200){
return testjs();
}
else{
request.onload = () =>{
resolve(request.response)
}}
}
};
request.send();
})
}
function testjs(){
sendRequest('GET',base_url)
.then(data => console.log(data))
.then(animepost)
}
function animepost(data){
console.log(data.image_url)
console.log(data.title)
console.log(data.url)
}
也许我在某处搞砸了查询。
解决方法
您传递给 sendRequest 的参数非常奇怪。
function sendRequest(meyhod,base_url){
您没有使用 methode 并且您只使用了“GET”方法,并且可以在函数内访问 baseUrl。 你应该像这样传递id
function sendRequest(id){
您在这里使用的
request.open('GET',`${base_url}/anime/${id}`);\
你的 testjs 应该看起来像这样
function testjs(){
sendRequest(theIdYouWantToFetch)