2017-09-26 56 views
0

我不知道爲什麼我得到了無法POST錯誤。我正在通過正確的路線。服務器正在偵聽端口。節點不能POST POST/api/register

index.js

const router = require('./router'); 
var app = express() 
app.use(express.static(__dirname + "/public")); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(bodyParser.json()); 

var server = app.listen(process.env.PORT || 8080, function() { 
    var port = server.address().port; 
    console.log("App now running on port", port); 
    }); 

router(app); 

router.js

const Authentication = require('./authentication'); 
const express = require('express'); 
const passport = require('passport'); 

const requireAuth = passport.authenticate('jwt', { session: false }); 
const requireLogin = passport.authenticate('local', { session: false }); 

module.exports = function(app) { 

    const apiRoutes = express.Router(); 
    const authRoutes = express.Router(); 

    apiRoutes.use('/auth', authRoutes); 
    authRoutes.post('/login', requireLogin, Authentication.login); 
    authRoutes.post('/register', Authentication.register); 
    app.use('/api', apiRoutes); 

}; 

回答

1

你試圖訪問/api/register,但看你註冊你的路由器的方式:

apiRoutes.use('/auth', authRoutes); 
authRoutes.post('/login', requireLogin, Authentication.login); 
authRoutes.post('/register', Authentication.register); 
app.use('/api', apiRoutes); 

您已將authRoutes作爲apiRoutes的子項,因此/register是ing在api/auth/register

容易犯的錯誤,當你有幾個路由器都鏈接到對方:)