0

ノードとエクスプレスを使用して、単純なアプリのバックエンドを作成しています。これが私のコードの構造です。

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;

サブディレクトリ /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

0

あなたは何も悪いことをしていません。表示されている [Object object] は、console.log によるものです。

これを試してください: console.log(req.body.user). 私の推測では、正しい出力が表示されると思います。

この質問を見てください

于 2015-05-17T23:48:03.677 に答える