Nak*_*nut 2 json node.js express
我有一个简单的服务器,我只是在发布时将json打印到屏幕上.这是我的代码:
/*jslint node:true*/
var express = require('express');
var app = express();
app.use(express.json());
app.use(app.router);
app.post('/event', function (res, req) {
//'use strict';
console.log(req.body);
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
然后我用curl将JSON放到服务器上:
curl -X POST -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:3000/event
Run Code Online (Sandbox Code Playgroud)
但服务器只是打印 undefined
我究竟做错了什么?
小智 5
你还没有定义express.bodyParser()的用法
它必须这样做:
app.use(express.bodyParser());
Run Code Online (Sandbox Code Playgroud)
实例:模块路由文件
exports.post = function(req, res){
console.log(req.body);
//res.render('index', { title: 'Express' });
};
Run Code Online (Sandbox Code Playgroud)
应用:
app.post('/post', routes.post);
Run Code Online (Sandbox Code Playgroud)
小提琴请求:

来自评论:如果您有最新的库,您应该考虑从Connect 3.0弃用bodyParser.适当的线程:如何摆脱Connect 3.0弃用警报?