繁体   English   中英

为什么我的路线没有被点击?

[英]Why is my route not being hit?

嗨,我有一个快速路由器,当我导航到正确的路线时似乎没有受到打击。 在我的app.js中:

var auth = require('./routes/auth');
app.use('/auth', auth);

在我的路由/ auth.js中

var express = require('express');
var authRouter = express.Router();
var mongodb = require('mongodb').MongoClient;

var router = function(){
    authRouter.route('/signUp')
        .post(function (req, res){
            console.log("Hello world");
    });
    return authRouter;
};

module.exports = router;

在我的index.jade中:

form.login-form(role='form', action='/auth/signUp', method='post', name='signUpForm' )
                  .form-group
                    label.sr-only(for='form-username') Username
                    input#form-username.form-username.form-control(type='text', name='userName', placeholder='Email...')
                  .form-group
                    label.sr-only(for='form-password') Password
                    input#form-password.form-password.form-control(type='password', name='password', placeholder='Password...')
                  button.btn(type='submit') Sign up!

但是,当我尝试转到/ auth / signUp时,在终端上获得的所有信息是:GET / auth / signUp--ms--POST / auth / signUp--ms--

在我看来,我的auth / signUp从未被使用过。 我本来是想console.log我的req.body,但是我什至无法登录一个hello world。

您将路由器包装在一个永不调用的函数中。 尝试只这样做:

var express = require('express');
var authRouter = express.Router();
var mongodb = require('mongodb').MongoClient;


authRouter.route('/signUp').post(function (req, res){
  console.log("Hello world");
});


module.exports = authRouter;

首先,您不应该真正使用诸如signUp之类的大小写网址。 尝试这个:

var express = require('express');
var authRouter = express.Router();
var mongodb = require('mongodb').MongoClient;

var router = function(){
  authRouter.post('/sign-up', function (req, res) {
    console.log("Hello world");
  });

  return authRouter;
};

module.exports = router;

您使用错误的方式定义路由器。 请改用这种方式。

var express = require('express');
var authRouter = express.Router();
authRouter.post('signUp', function(req, res) {
   // in this code block you have to render text, html or object
   res.render('index'); // or may be res.json(some_obj);
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM