我已经花了几个小时在这上面了,感觉很沮丧...
router.post('/', passport.authenticate('local-signup', function(err, user, info) {
console.log(err);
}), function(req, res){
console.log(req);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ a: 1 }));
});
当我运行这个程序时,我使用了console.log
,输出结果为{ message: 'Missing credentials' }
,这使我相信body parser没有正确解析消息主体。然而,当我使用这个路由时...router.post('/', function(req, res){
console.log(req.body);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ a: 1 }));
});
我使用console.log
时,输出为{password: 'password', email: 'email@email.com'}
,这表明req.body
变量被正确设置并可用。
app.js
var express = require('express');
var app = express();
var routes = require("./config/routes.config");
var models = require("./config/models.config");
var session = require('express-session');
var bodyParser = require('body-parser');
models.forEach(function(model){
GLOBAL[model] = require('./models/'+model+".model");
});
var passport = require("./config/passport.config");
app.use( bodyParser.urlencoded({ extended: true }) );
app.use(session({ secret: 'simpleExpressMVC', resave: true, saveUninitialized: true }));
app.use(passport.initialize());
app.use(passport.session());