我正在执行node.js manual,并尝试显示从jsonplaceholder获得的信息
app.get('/posts', async (req, res) => {
const response = await axios.get('https://jsonplaceholder.typicode.com/posts');
console.log(typeof response.data);
console.log(response.data);
res.render('posts',{
posts: response.data,
});
});
我在控制台中看到获取的数据格式无法读取
当验证有效数据类型时,它应该是一个对象(json),但它是一个字符串。
我不知道jsonplaceholder是否更改了显示信息的方式,也不知道我应该添加哪些附加代码才能在模板中显示信息。
模板代码
<%- include('partials/header'); %>
<h1>Posts</h1>
<p><%= posts %></p>
<% for(let i = 0; i < posts.length; i++) { %>
<article>
<h1><%= posts[i].title %></h1>
<p><%= posts[i].body %></p>
</article>
<% } %>
<%- include('partials/footer'); %>
该模板显示加载所有www.example.com的标记request.data因为标记为<p><%= posts %></p>
2条答案
按热度按时间brccelvz1#
axios
版本1.2.0存在问题。使用1.1.3应该可以正常工作,请参见https://github.com/axios/axios/issues/5298yizd12fk2#
是的,这是这个版本中的一个已知错误,他们已经在最新版本中修复了它,你可以在这里检查https://github.com/axios/axios/issues/5296