javascript - 使用 postman 无法从express.js服务器获得响应

标签 javascript node.js express response postman

当我从 postman 发出发布请求时,请求数据显示在服务器上,但服务器响应即状态代码和 json 对象未发送给 postman , postman 只是加载......一段时间后它说无法从服务器。

这是我的 server.js 类

var bodyParser = require('body-parser');
var express = require('express');

var {mongoose} = require('./db/mongoose');
var {Todo} = require('./models/todo');
var {Users} = require('./models/Users');

var app = express();
app.use(bodyParser.json());

app.post('/todos', (req, res) =>{
var todo = new Todo({
text: req.body.text
});

todo.save().then((doc) => {
res.send(doc);
}, (e) => {
res.status(400).send(e);
});

});

app.listen(3000, () =>{
console.log('started at port 3000');
});

最佳答案

执行 todo.save do console.log(e) 时出现一些错误,以检查 mongo 抛出的错误是什么。此外,您还可以在响应中发送错误,只是为了查看发生了什么,而不是编写 res.status(400).send(e); 编写 res.send(e) 它将发送错误作为响应。当您没有从服务器发送任何响应时,通常会发生“无法获取响应”错误。在您的情况下,您将从 Promise 已解决 block 发送响应,而不是从错误 block 发送响应。

还要确保 todo.save() 返回 promise ?也许你可以通过以下方式实现这一点

todo.save(function(err,doc){
if(err){
return res.send(err);
}
res.send(doc);
})

关于javascript - 使用 postman 无法从express.js服务器获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45373728/

相关文章:

javascript - 如何设置具有两个不同到期日期的多个值

javascript - 如何停止并播放 Owl Carousel onclick 项目

javascript - 为什么网络套接字在 nodejs 上表现不同?

node.js - 卡夫卡 - 滞后

node.js - 部分未在 Jade 中定义

javascript - 如何在 Node/Express 中将 JS 从客户端移动到服务器?

javascript - Angular ng show 不会在范围更新时更新

javascript - NodeJS - 没有 Express 的 session 处理

javascript - Node.js 中的客户端代码

node.js - 显示当前使用 node/express/socket.io 构建的聊天中的用户