首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对graphiql的查询请求

对graphiql的查询请求
EN

Stack Overflow用户
提问于 2021-02-10 20:47:50
回答 1查看 99关注 0票数 0

由于我已经感谢您的空间,我与下面的graphql的问题,我遵循了一个公共api网站,AniList https://anilist.gitbook.io/anilist-apiv2-docs/overview/graphql/getting-started的命令,我可以得到很多信息,但我想要的我没有得到,我想捕捉动画的角色,如果有人可以帮助我非常感谢,我是非常外行的主题,我会留下代码在这里

代码语言:javascript
复制
var query = `
{Media (id: 1, type: ANIME) { 
    id
    title {
      romaji
      english
      native
    }
  episodes
  type
  averageScore
  seasonYear
  episodes
  duration
  characters {
    nodes {
      image {
        large
        medium
      }
    }
  }
  coverImage {
    extraLarge
  }
  }
}
`;


var url = 'https://graphql.anilist.co',
    options = {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json',
        },
        body: JSON.stringify({
            query: query,
        })
    };

fetch(url, options).then(handleResponse)
                   .then(handleData)
                   .catch(handleError);

function handleResponse(response) {
    return response.json().then(function (json) {
        return response.ok ? json : Promise.reject(json);
    });
}

function handleData(data) {
    //console.log(data.data.Media.title.userPreferred);
    //document.getElementById("anime").innerHTML = data.data.Media.title.userPreferred;
    
    document.getElementById("title").innerHTML = data.data.Media.title.english;
    document.getElementById("type").innerHTML = data.data.Media.type;
    document.getElementById("episodes").innerHTML = data.data.Media.episodes;
    document.getElementById("averageScore").innerHTML = data.data.Media.averageScore;
    document.getElementById("duration").innerHTML = data.data.Media.duration;
    document.getElementById("episodeList").innerHTML = data.data.Media.episodes;
    document.getElementById("dateanime").innerHTML = data.data.Media.seasonYear;
    document.getElementById("anime_image").setAttribute("src", data.data.Media.coverImage.extraLarge );
    document.getElementById("anime_person").setAttribute("src", data.data.Media.characters.image.large );

     
}

function handleError(error) {
    alert('Error, check console');
    console.error(error);
}
代码语言:javascript
复制
#main, .autofill {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 15px;
    position: absolute;
    z-index: 1;
    top: -5px;
    font-size: 10px;
    text-shadow: 1px 1px 1px #0000007d;
    line-height: 2.9rem
}
代码语言:javascript
复制
<div class="autofill">
    <strong>name: </strong><span id="title"></span>
    <br />
    <strong>type: </strong> <span id="type"></span><br />
    <strong>N. episodes: </strong> <span id="episodes"></span><br />
    <strong>Score: </strong> <span id="averageScore"></span><br />
    <strong>duration: </strong> <span id="duration"></span> <br />
    <strong>Status: </strong> <span id="episodeList"> </span> <br />
    <strong>In: </strong> <span id="dateanime"></span><br />
    <span>
       <img src="" id="anime_image"> <br />
        <img src="" id="anime_person"> <br />
    </span>
</div>

EN

回答 1

Stack Overflow用户

发布于 2021-09-14 06:25:59

您可以执行以下操作:

代码语言:javascript
复制
characters = data.data.Media.characters.nodes

这将返回一个数组,您可以遍历该数组以获取每个字符:

代码语言:javascript
复制
characters[0].image.large
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66137205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档