获取api API返回未定义的[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取api API返回未定义的[关闭]相关的知识,希望对你有一定的参考价值。

我正在使用电影数据库API,并且已经在我的浏览器中使用API​​密钥和查询测试了此链接的输入,并且可以正常工作。结果如下图。

enter image description here

但是,当我尝试实现一个功能,该功能将搜索电影并将电影标题作为H1元素返回时,它将返回undefined。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="script.js" defer></script>

</head>
<body>
    <input type="search" id="search"/>
    <button id="submit">Submit</button>
    <h1 id="title">Movie</h1>
</body>
</html>
const API_KEY = '*************************'
const query = document.getElementById('search')
const button = document.getElementById('submit')
const title = document.getElementById('title')


button.addEventListener('click', function(name) {
    fetch(`https://api.themoviedb.org/3/search/movie?api_key=${API_KEY}&query=${query}`)
    .then(response => response.json())
    .then(data => {
        var titleValue = ['results']['title'];

        title.innerHTML = titleValue;

        query.value ="";
    })
})

我也尝试过

var titleValue = ['results'][0]['title'];

以及一些其他数字和不同的输入,例如“ popularity”代替title,并且每次按钮将“ undefined”返回到h1元素或不执行任何操作。

答案

我认为您的意思是访问data对象的属性:

button.addEventListener('click', function(name) {
    fetch(`https://api.themoviedb.org/3/search/movie?api_key=${API_KEY}&query=${query}`)
    .then(response => response.json())
    .then(data => {
        var titleValue = data['results'][0]['title'];

        title.innerText = titleValue;

        query.value ="";
    })
})

或更干净,为什么不使用点符号? var titleValue = data.results[0].title;

以上是关于获取api API返回未定义的[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

试图用 jest 测试我的巢 api,返回未定义

api 请求返回未定义

react redux-thunk项目中的模拟api返回未定义

导入时获取返回未定义

使用 Spotify Apps API 的空或未定义的艺术家图像

Swagger 未加载 - 无法加载 API 定义:获取错误未定义