如何在Express中使用以下路由:
Repositories
现在,当我访问/ users时,页面呈现正确,但在提交时,它运行/ index(post route)中的代码而不是/ users(post route)中的代码。
我的文件如下所示: users.js :
/ (get and post)
/users (get and post)
index.js :
router.get('/', function(req, res, next) {
var title = 'users';
res.render('users');
});
router.post('/',function(req,res){ ....});
app.js:
router.get('/', function(req, res, next) {
var title = 'index';
res.render('index');
});
router.post('/post',function(req,res){
并在app.use部分中:
var routes = require('./routes/index');
var users = require('./routes/users');
var show = require('./routes/show');
修改:
表单操作是:
app.use('/users', users);
app.use('/show', show);
app.use('/', routes);
答案 0 :(得分:1)
正如尼古拉斯在评论中所说,你应该将表格更新为:
form(method="POST", action="/users")
这将在您的用户控制器中点击您的POST路由。
如果您还希望向/
发送POST,则应将index.js
更新为:
// it should be / not /post
router.post('/',function(req,res){ ... }
另外,请注意,您可能需要使用body-parser来解析表单数据。
希望这有帮助!