首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API chuck norris笑话未定义

API chuck norris笑话未定义
EN

Stack Overflow用户
提问于 2021-05-20 15:37:41
回答 1查看 86关注 0票数 0

我正在尝试调用两个不同的API。我的想法是,当你点击底部时,一个随机的笑话会出现在屏幕上。我创建了两个不同的函数来获取这两个不同的API。然后,我使用Math.random()获得一个随机数。如果随机数大于50,则执行一个函数,否则执行另一个函数。我的问题是,来自Chuck Norris API的API数据总是返回Undefined,我正在努力找出错误所在。

这是我的JS代码:

代码语言:javascript
复制
const button = document.getElementById("button");
const joke = document.getElementById("joke-content");
const url = " https://icanhazdadjoke.com/";
const urlChuck = "https://api.chucknorris.io/jokes/random";

button.addEventListener("click", getJoke = () => {
    const randomNumber = 100 * Math.random();
    return randomNumber > 50 ? getDadJoke() : getChuckJoke();
}
);

const getDadJoke = () => {
    fetch(url, {
        headers: {
            "Accept": "application/json"
        }
    }).then(response => response.json())
        .then(data => joke.innerHTML = data.joke)
}

const getChuckJoke = () => {
    fetch(urlChuck, {
        headers: {
            "Accept": "application/json"
        }
    }).then(response => response.json())
        .then(data => joke.innerHTML = data.joke)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-20 15:43:35

对于Chuck Norris的笑话,你指的是data.joke,但它应该是data.value

代码语言:javascript
复制
const getChuckJoke = () => {
    fetch(urlChuck, {
        headers: {
            "Accept": "application/json"
        }
    }).then(response => response.json())
        .then(data => joke.innerHTML = data.value)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67615970

复制
相关文章

相似问题

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