Nodejs:使用add.post时无法获得路由

我是Node的初学者,我正尝试用Mongo(mlab),express和nodejs创build一个多页面应用程序。 我试图导航到页面addUser需要POST请求。 但我不断收到错误

不能GET / addUser

当我使用add.post它。 不过,当我使用add.get时,它确实有效

这里是app.js

 var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var cors = require('cors'); var path = require('path'); const MongoClient = require('mongodb').MongoClient; var app = express(); app.set('view engine', 'ejs') const port = 3000; MongoClient.connect('mongodb://<user>:<password>@ds111882.mlab.com:11882/serene-brushlands-55292-db', function(err, database) { if(err) return console.log(err); db = database app.listen(port, function() { console.log('Server started at port:'+port); }); }); var urlencodedParser = bodyParser.urlencoded({ extended:false }); app.get('/', function(req, res) { res.sendFile(__dirname+'/index.html'); }); app.post('/addUser', urlencodedParser, function(req, res) { res.render('addUser'); // db.collection('users').save(req.body, function(err, result) { // if (err) return console.log(err); // console.log('saved to database'); // res.redirect('/'); // }) // console.log(req.body); }); 

不知道我在做什么错。

这里是addUser.ejs

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>MY APP</title> </head> <body> <form action="/addUser" method="POST" > <input type="text" placeholder="username" name="username"> <input type="text" placeholder="specialty" name="specialty"> <input type="text" placeholder="address" name="address"> <!-- <input type="file" name="picture"> --> <button type="submit">Submit</button> </form> </body> 

你需要为addUser添加一个get:

 app.get('/addUser', function(req, res) { res.render('addUser'); });