我正在使用node和express编写一个简单app的后端。这就是我构建代码的方式:
app.js
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.json());
var router = require('./router')(app);
app.listen(80,function(){
console.log("Started on PORT 80");
})
module.exports = app;
在子目录/路由器下我有 index.js
module.exports = function (app) {
app.use('/login', require('./routes/login'));
};
在/ router / routes下我有 login.js
var express = require('express');
var router = express.Router();
router.post('/', function(req, res){
var user = req.body.user;
console.log("Handler for /login called");
console.log("The username is: "+ user);
});
module.exports = router;
我正在使用
进行测试curl -X POST -d '{"user":"alpha", "password":"beta"}' http:my-app-ip/login --header "Content-Type:application/json"
控制台打印The username is: undefined
而不是关键用户的值。
我做错了什么?
答案 0 :(得分:1)
您可以使用util.inspect()
获取值的字符串表示形式,或使用console.dir(req.body)
将util.inspect(req.body)
输出到stdout。
答案 1 :(得分:0)
你没有做错任何事。您看到的[Object object]是由console.log引起的。
试试这个:console.log(req.body.user)
。我的猜测是你会看到正确的输出。
看看this question但是