0

我正在使用 node 和 express 编写一个简单应用程序的后端。这就是我构建代码的方式:

应用程序.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;

在子目录 /router 我有 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而不是关键用户的值。

我究竟做错了什么?

4

2 回答 2

1

您可以使用util.inspect()获取值的字符串表示形式,或使用console.dir(req.body)哪些输出util.inspect(req.body)到标准输出。

于 2015-05-18T00:04:47.243 回答
0

你没有做错什么。您看到的 [Object object] 是由于 console.log。

试试这个:console.log(req.body.user)。我的猜测是你会看到正确的输出。

不过看看这个问题

于 2015-05-17T23:48:03.677 回答