router.get没有发布多个参数

时间:2016-09-03 21:22:17

标签: node.js express

嗨,所以我正在学习node.js和express的基础知识,我试图提交一个包含两个参数的表单,并试图在同一个屏幕中获取它。 但由于某种原因,我想我不知道如何使用router.get来获取两个输入字段参数。 这是我的js文件

var express = require('express');
var router = express.Router();

router.get('/:awesomeTitle?/:awesomeAuthor?', function(req, res, next) {
    res.render('node',
    {title: req.params.awesomeTitle ? req.params.awesomeTitle : '' , author: req.params.awesomeAuthor ? req.params.awesomeAuthor : '' });
});

router.post('/', function(req, res, next) {
    var awesomeTitle = req.body.title;
    var awesomeAuthor = req.body.author;
    res.redirect('/' + awesomeTitle + awesomeAuthor);
});

module.exports = router;

这是我的hbs文件。

<h1> Result </h1>
<h2>{{author}}</h2>
<h1>{{title}}</h1>
<form action="/" method="post">
<input type="text"/ name="title">
<input type="text"/ name="author">
<button type="submit">Submit</submit>
</form>

所以只想知道如何在h1和h2标签中再次提交到页面,以获得令人敬畏的标题和作者。 P.S我不知道如何调试这个应用程序所以..它并没有显示任何错误,我得到的只是输入字段的答案组合。

1 个答案:

答案 0 :(得分:2)

您的重定向中似乎缺少for(Object current: e.getDeclaringClass().getEnumConstants())。尝试将帖子处理程序中的最后一行更改为:

/