2016-09-03 6 views
3

こんにちは、私はnode.jsの基本を学び、表現しています.2つのパラメータを持つフォームを送信して、同じ画面でそれを取得しようとしていました。 しかし何らかの理由で、両方の入力フィールドのパラメータを取得するためにrouter.getを使用する方法がわからないと思います。ここ は私のjsがrouter.get複数のパラメータを投稿していません

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このアプリケーションをデバッグする方法がわかりません。エラーは表示されません。両方の入力フィールドの答えが結合されているだけです。

答えて

2

リダイレクトに/がありません。投稿者の最後の行を次のように変更してください:

res.redirect('/' + awesomeTitle + '/' + awesomeAuthor); 
+1

ありがとうございます! 私は実際にコードを書いている間、私はPHP開発者なので、それは方法かもしれないと思ったが、私はノードを使用したことはないので、再び考えた:それは新しいものかもしれない。 –

関連する問題