とあるWeb屋の備忘録

とあるWeb屋の備忘録。たまに雑記。

Node.js+Expressでgetを使う!

Node.js+Expressでgetを使う!

Node.jsを触ってみた話4の続き。

前回やったこと
・複数のミドルウェアの処理をnext();でつなげる

今回はExpressでのgetについて書いていきたいと思います。

GET送信について

getはHTTPメソッドのうちの一つで、HTTPメソッドにはほかにもpost,put,deleteとかあります。
HTTPメソッドっていうのは、ブラウザからサーバーに送るリクエストの種類のことです。
getだとページをリクエストしていることになるんだけど、それと一緒にURLにパラメータをくっつけてサーバーに送ることができるよ。

以下の例はresultページにクエリを指定してアクセスしたときに、クエリの値によって画面の表示を出しわけるってことやってます。

result.js

router.get('/', function(req, res, next) {

  var data = {
    p01 : {
      pageNum: 01,
      author: "aaa"
    },
    p02 : {
      pageNum: 02,
      author: "bbb"
    }
  };

  var query = req.query.p;

  res.render('result', {
    title: "結果",
    pageNum: data[query].pageNum,
    author: data[query].author
  });

});

app.js

var resultRouter = require('./routes/result');
app.use('/result',resultRouter);

result.ejs

  <body>
    <h1このページのタイトルは><%= title %>です!</h1>

    <ul>
      <li>ページ数:<%= pageNum %></li>
      <li>著者:<%= author %></li>
    </ul>
  </body>

これでlocalhost:3000/result/?p=p01でアクセスするとPageNumは01、authorはaaaが出力されます。

次回はpost通信について書きます!