POST请求不起作用,页面继续加载

时间:2016-12-31 12:03:20

标签: node.js mongodb express oauth-2.0 passport.js

所以我使用express和mongoDB构建我的第一个应用程序,并且我遇到了一些身份验证方面的麻烦,我使用MEAN Web开发书来构建遵循MVC模式的文件夹结构,然后我开始使用本教程和试图建立oauth身份验证,但在开始真正做oauth之前,我陷入了本地身份验证,我尝试提交表单,它一直在加载,从来没有给我一个响应,邮递员我得到一个无法得到任何回复,我不知道是什么原因导致这个问题,因为我有很多代码,我不知道会出现什么样的错误,我会把这个放在我的gitProject中。

文件夹结构:

folder structure

GIT中: project

我觉得问题可以依赖于我如何通过护照模块:

的.config /表达

var config          = require('./config');
var express         = require('express');
var passport        = require('passport');
var flash           = require('connect-flash');
var compress        = require('compression');
var cookieParser    = require('cookie-parser');
var session         = require('express-session');
var bodyParser      = require('body-parser');
var morgan          = require('morgan');
var methodOverride  = require('method-override');
var expressLayouts  = require('express-ejs-layouts');

module.exports = function(){
    var app = express();

    require('./passport')(passport);

    if(process.env.NODE_ENV === 'development')
    {
        app.use(morgan('dev'));
    }  
    else if(process.env.NODE_ENV === 'production')
    {
        app.use(compress());

    }
    app.use(cookieParser());

    app.use(bodyParser.urlencoded({
       extended:true 
    }));
    app.use(morgan('dev'));

    app.use(bodyParser.json());
    app.use(methodOverride());

    app.use(session({
        saveUninitialized: true,
        resave: true,
        secret: 'keyboard'
    }));



    app.use(passport.initialize());
    app.use(passport.session()); // persistent login sessions
    app.use(flash());

    app.set('views', './app/views');
    app.set('view engine','ejs');
    app.use(expressLayouts);



    require('../app/routes/index.server.routes.js')(app,passport);
    require('../app/routes/register.server.routes.js')(app,passport);
    require('../app/routes/login.server.routes.js')(app,passport);
    require('../app/routes/profile.server.routes.js')(app,passport);
    app.use(express.static('./public'));
    return app;
}

..应用程序/路由/ register.server.routes.js

var register = require('../../app/controllers/register.server.controller');
module.exports = function(app,passport) {
 app.route('/register')
 .post(function(req,res){
      passport.authenticate('local-signup', {
        successRedirect : '/profile', // redirect to the secure profile section
        failureRedirect : '/register', // redirect back to the signup page if there is an error
        failureFlash : true // allow flash messages
  })})
 .get(register.getPage);
};

1 个答案:

答案 0 :(得分:0)

尝试使用:

app.use(bodyParser.urlencoded({
   extended: false
}))

而不是:

app.use(bodyParser.urlencoded({
   extended: true
}))