nodejs express ejsテンプレート処理get要求、パラメータを取得するいくつかの方法
1656 ワード
NodeJSを使って小型サイトを素早く開発したいです.express ejsテンプレートを使う時に問題が発生しました.ここで記録して、自分の未来の忘れを防止します.ps:以下のコードはすべてexpess-eプロジェクト名から生成された自動コードです.書き換えます.
express ejsテンプレート処理get要求、パラメータ取得のいくつかの方法
app.jsの中で
このように書き換えられます.
注意したいのは、ap.jsにおいて、ルーティングを指定する際に、ap.use('/',routes)などの順序があります.app.use('/users',users);このうち2番目のusersはexpressのデフォルトで生成されたものです.127.1.0.1:3000/usersにアクセスすると、上記の第一の書き方を使うと、routesはindex.jsにrouteを送るが、index.jsではマッチングできないので、ap.jsに戻って、usersにマッチングすることができます.しかし、第二の方法を使うと、routesはそのrouteをindex.jsに送った後、/userはキャプションに対応することができます.
express ejsテンプレート処理get要求、パラメータ取得のいくつかの方法
app.jsの中で
var routes = require('./routes/index');
app.use('/',routes);
// 127.0.0.1:port route routes index.js
routes/index.jsでrouter.get関数を書き換えます.例えばvar mytitlle = req.query["title"];
res.render('index', {title:mytitle });
このように、index.ejsのtitle:127.1.0.1:3000/title=あなたが欲しい内容を以下のように変更することができます.このように書き換えられます.
router.get('/:title', function(req, res, next) {
var mytitle = req.params.title;
res.render('index', { title: mytitle});
});
このように、index.ejsのtitle:127.1.0.1:3000/ご希望の内容を以下のように変更できます.注意したいのは、ap.jsにおいて、ルーティングを指定する際に、ap.use('/',routes)などの順序があります.app.use('/users',users);このうち2番目のusersはexpressのデフォルトで生成されたものです.127.1.0.1:3000/usersにアクセスすると、上記の第一の書き方を使うと、routesはindex.jsにrouteを送るが、index.jsではマッチングできないので、ap.jsに戻って、usersにマッチングすることができます.しかし、第二の方法を使うと、routesはそのrouteをindex.jsに送った後、/userはキャプションに対応することができます.