【问题标题】:Returning JSON into将 JSON 返回到
【发布时间】:2017-05-08 04:17:36
【问题描述】:

我正在使用 Axios 从 API 获取信息。 Axios 连接并返回具有正确信息的对象,但是我很难获取返回的 JSON 并将其显示在我的 HTML 代码中。

我的代码是:

<body>    
    <script type="text/javascript">
        axios.get('http://localhost:3000/boxmac').then(function (response) {
            console.log(response);
            document.getElementById('lol').innerHTML = response.Object;
        }).catch(function (error) {
            console.log(error);
        });
    </script>
    <p id="lol"></p>
</body>

此时,如果它将整个数据库内容(所有 168 行和 1000 多个项目)转储到 HTML 中,我会很高兴。我至少知道我到了某个地方。

此时我得到了来自 console.log(response) 的响应(我认为)。它返回

Object {data: Object, status: 200, statusText: "OK", headers: Object, config: Object…}

我的问题是找到我需要使用什么来使对象 JSON 的内容出现在 HTML 中

好的,我可以在我的 HTML 中返回 [object Object]。现在我如何让它返回对象中的信息。

在控制台中浏览树需要导航:

Object => Object =>  macdb => [0 ... 99 ] => Object

进步!使用

document.getElementById('lol2').innerHTML = res.data.macdb;

我在 HTML 中有大量 [object Object],现在我只需要该对象中的内容。

【问题讨论】:

  • 那么,response 包含什么?
  • 那么有什么作用或没有什么作用?
  • 如果您的响应类型是字符串,请使用 response = JSON.parse(response)。并打印 console.log(response) 以查看其中包含的内容。
  • 当我打开控制台时,我得到了
  • 您的.Object 是多余的。 .innerHTML = response 应该给你一些东西(可能是[object Object])。

标签: javascript html json axios


【解决方案1】:

如果您说您的预期返回类型是 JSON - 仅将其设置为 innerHTML 是不够的。您需要一些模板引擎来从此 JSON 生成内容。喜欢underscore templating

【讨论】:

  • 很可能,innerHTML 不是问题。
  • 如果我错了,请纠正我,但我相信将 HTML 内容设置为对象会导致它显示为字符串 [object Object]。根据问题的措辞,提问者似乎没有在 HTML 中获得任何输出,因此正如 Cerbrus 建议的那样,innerHTML 可能不是问题所在。 编辑:刚刚测试过;当使用innerHTML 应用时,对象实际上显示为[object Object]
  • 当我打开控制台我得到Object {data: Object, status: 200, statusText: "OK", headers: Object, config: Object…}
  • 检查data.Object 属性中返回的数据。你这里有 JSON 对象吗?
  • 进步!使用 document.getElementById('lol2').innerHTML = res.data.macdb; 我在 HTML 中有大量 [object Object],现在我只需要该对象中的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
  • 2010-10-15
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多