基本特快路线

Posted

技术标签:

【中文标题】基本特快路线【英文标题】:Basic Express Routes 【发布时间】:2015-07-22 04:42:29 【问题描述】:

如何让以下路线在 Express 中工作:

/ (get and post)
/users (get and post)

现在,当我访问 /users 时,页面会正确呈现,但在提交时,它会运行 /index(发布路由)中的代码,而不是 /users(发布路由)中的代码。 我的文件如下所示:users.js:

router.get('/', function(req, res, next) 
var title = 'users';
res.render('users');
);

router.post('/',function(req,res) ....);

index.js

router.get('/', function(req, res, next) 
    var title = 'index';
    res.render('index');
);

router.post('/post',function(req,res)

app.js:

var routes = require('./routes/index');
var users = require('./routes/users');
var show = require('./routes/show');

在 app.use 部分:

app.use('/users', users);
app.use('/show', show);
app.use('/', routes);

EDITForm动作是:

form(method="POST", action="/post")

【问题讨论】:

这可能有助于显示您如何执行发布请求(即:通过表单属性、AJAX 等) 通过表单提交。 @victorkohl 我很确定你是对的。我已将表格添加到问题中。应该是什么? 您的表单操作不应该是/users 而不是/post吗? 这就是我的想法,但这不起作用。其他地方有错误吗? 【参考方案1】:

就像 Nicholas 在 cmets 中所说的那样,您应该将您的表单更新为:

表格

form(method="POST", action="/users")

这将在您的用户控制器中访问您的 POST 路由。

如果您还希望向 / 发送 POST,则应将您的 index.js 更新为:

Index.js

// it should be / not /post
router.post('/',function(req,res) ... 

另外,请注意,您可能需要使用 body-parser 来解析表单数据。

希望这会有所帮助!

【讨论】:

谢谢!这真的很有帮助。

以上是关于基本特快路线的主要内容,如果未能解决你的问题,请参考以下文章

C++语言学习基本路线图!

我是电音之王!FLStudio学习路线图

Java技术路线--1基本类型与包装类

loj #6091. 「Codeforces Round #418」幻想特快

PHP程序员学习路线

PHP程序员学习路线