我正在使用快递。 我的路线文件中有以下代码:
router.post('/', function (req, res) {
res.send(req.body);
//res.send('Got a POST request')
})
以下是 app.js / server.js
中的几行var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var index = require('./routes/index');
var users = require('./routes/users');
var adminAuth = require('./routes/adminAuth');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.get('/', function (req, res) {
res.send('hello world11')
})
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser());
app.use(bodyParser.urlencoded({
extended: true
}));
到我的身份验证用户路由,我在json下面通过rest client发送:
{ '用户名': 'harsimer'}
但是我无法从我的 req.body获取用户名我试过了
req.body.username
我是node.js的新手并表达。
请提供一些解决方案或参考。
答案 0 :(得分:0)
我会说你没有正确配置body-parser
。您可以尝试使用此片段进行初始化:
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
你想使用bodyParser.json()
因为我认为你期望得到json的输入。
您应该将代码中的此代码段替换为我上面发布的代码段:
app.use(bodyParser());
app.use(bodyParser.urlencoded({
extended: true
}));
official github repo中有类似的例子。