【发布时间】:2017-10-31 03:57:18
【问题描述】:
我正在尝试查询数据库并在将结果呈现到模板之前返回要表达的结果。目前,我正在使用 Axios,它会向localhost:3000/api/endpoint 发送请求。我已经验证端点通过邮递员工作,它从 MongoDB 返回我想要的。
我的网络服务器代码如下所示:
app.get('/post/:id', (req, res) => {
axios.get(`localhost:3000/post/${req.params.id}`)
.then((response) => {
console.log(response);
res.render('post', { content: response.content });
})
.catch((err) => {
console.log(err);
res.render('404', { error: err });
});
});
由于某种原因,axios(或express)并没有等待API返回响应,而是跳转到catch,返回404页面。我不确定它为什么会这样。
注意 - 返回的错误是:ECONNRESET 或套接字挂起
如何修复它,以便 express(或 axios)等待 API 查询完成,然后再将其呈现在页面上?
【问题讨论】:
-
尝试使用http-protocol
http://localhost:3000/...或http://127.0.0.1:3000/...设置完整的url -
能否确认服务器是否收到了express发送的请求?
-
你为什么尝试使用 Axios 查询数据库而不是一些与数据库相关的 npm 模块?
-
我正在使用 mongoose 查询我的数据库。我用 Axios 调用 API。
标签: javascript node.js express axios http-get