【问题标题】:Post Id : undefined帖子 ID:未定义
【发布时间】:2019-10-07 08:31:11
【问题描述】:

在我的简单项目中,使用不同的 API 一切正常,但在 this API 中存在问题

输入值为:

帖子 ID:未定义

这是我的代码:

let PostShow = 
{
    render : async () => {
        let request = Utils.parseRequestURL()
        let post = await getPost(request.id)

        return /*html*/`
            <section class="section">
                <h1> Post Id : ${post.id}</h1>

            </section>
        `
    }
    , after_render: async () => {
    }
}

而输出值为:

帖子 ID:未定义

输入和输出都是一样的。我做错了什么?

【问题讨论】:

  • 能分享一下getPost方法吗?
  • 是的。让 getPost = async (id) => { const options = { method: 'GET', headers: { 'Content-Type': 'application/json' } };尝试 { const response = await fetch(https://countriesnode.herokuapp.com/v1/countries +id, options) const json = await response.json(); // console.log(json) return json } catch (err) { console.log('Error getting documents', err) } }

标签: javascript ecmascript-6 async-await fetch


【解决方案1】:

这个API 的响应没有id 作为属性,这就是它显示undefined 的原因。 这是响应中的一个条目 - { "name": "Andorra", "native": "Andorra", "phone": "376", "continent": "EU", "capital": "Andorra la Vella", "currency": "EUR", "languages": ["ca"], "emoji": "??", "emojiU": "U+1F1E6 U+1F1E9", "code": "AD" } 尝试访问其他可用字段,例如名称、代码等。

【讨论】:

  • 名称或其他对象不起作用..请指导我如何解决此问题
  • post.name 不起作用?可以登录控制台查看post和share的价值吗?
  • 这里为什么在 URL 上附加了澳大利亚?你能分享一下request.id被捕获后形成的url吗?
猜你喜欢
  • 2019-02-17
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多