如何从通过 XMLHttpRequest 获得的 json 中获取值?

问题描述

如何从我通过 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)