Node.js Nodejs/Express无法一致地从post检索正文。多个呼叫快速连续成功
我正在创建一个简单的模拟服务器,我想(现在)用请求的主体来响应帖子。我遇到一个问题,无法始终检索该请求的正文 它有时确实有效,但前提是我能快速发布多篇帖子。如果我在两次发布之间延迟超过5秒,则正文似乎是{} 我怎样才能确保我总能找回尸体?我感谢你提供的任何帮助!我是node的新手,所以我确信存在一些明显的错误Node.js Nodejs/Express无法一致地从post检索正文。多个呼叫快速连续成功,node.js,express,Node.js,Express,我正在创建一个简单的模拟服务器,我想(现在)用请求的主体来响应帖子。我遇到一个问题,无法始终检索该请求的正文 它有时确实有效,但前提是我能快速发布多篇帖子。如果我在两次发布之间延迟超过5秒,则正文似乎是{} 我怎样才能确保我总能找回尸体?我感谢你提供的任何帮助!我是node的新手,所以我确信存在一些明显的错误 我使用Postman发送请求,并为“contenttype”设置了一个值为“application/json”的头 在定义应用程序之后,但在使用路由之前,我正在使用bodyParser.j
app=express();
use(bodyParser.json());
var router=require('./router.js');
应用程序使用(路由器);
httpServer=http.createServer(app);
httpServer.listen(webServerConfig.port)
.on('listing',()=>{
log(`Web服务器在本地主机上侦听:${webServerConfig.port}`);
路由器的相关部分:
router.route('/api/v1/customer')
.post(customers.post);
路由器调用的Post函数:
function post(req, res, next) {
try {
var body = req.body;
console.log('post: ', body);
res.status(200).json(req.body);
next();
} catch (err) {
res.status(500);
next(err);
}
}
第一个响应的主体(或在响应之间等待5秒):
后续响应的主体,当快速连续做出时(这也是我在post请求中发送的主体):
我看不出你的代码有任何问题,可能是你的客户端代码有问题,请你也发布它们好吗?只需几条注释,在调用
res.send
后,你不必调用next
。此外,你也可以将其称为shortres.json(req.body)
,您不需要指定200status@ShimonBrandsdorfer我正在使用独立的Postman客户端发布请求。请求的“正文”与我收到的响应(当它工作时)相同。我选择了“原始”和“JSON(应用程序/JSON)”'作为类型。我已确认标头包含键'Content type'和值'application/json'。我已尝试使用curl重现该问题,但始终收到{}.好的,所以我试着在我的机器上运行你的代码,它一直运行。可能你的计算机的其他部分出了问题code@ShimonBrandsdorfer谢谢你的帮助!我至少可以排除这一部分,这非常有用。再次感谢!我看不出你的代码有任何错误,可能是你的客户端代码有问题,请你也把它们贴出来好吗?只要几张便条,在你调用res.send
之后,你不必再调用next
。此外,你也可以把它叫做shortres.json(req.body)
,您不需要指定200status@ShimonBrandsdorfer我正在使用独立的Postman客户端发布请求。请求的“正文”与我收到的响应(当它工作时)相同。我选择了“原始”和“JSON(应用程序/JSON)”'作为类型。我已确认标头包含键'Content type'和值'application/json'。我已尝试使用curl重现该问题,但始终收到{}.好的,所以我试着在我的机器上运行你的代码,它一直运行。可能你的计算机的其他部分出了问题code@ShimonBrandsdorfer谢谢你的帮助!我至少可以排除这一部分,这非常有用。再次感谢!
{}
{
"phone": "8124713403",
"smsOptStatus": "out",
"addressLine1": "100 Regolith Lane",
"birthDay": 2,
"firstName": "Bill",
"emailAddress": "test3sldkfjslkdfa@live.com",
"lastName": "Shepherd",
"emailOptStatus": "in",
"city": "Mooncity",
"loyaltyStatus": "member",
"birthMonth": 7,
"state": "CA"
}