パラメータ
サーバーにデータを送信する方法にクエリパラメータがあります。
クエリパラメータとは、URLに含まれるキーと値のペアのことで、「 http://localhost:3000/form?name=jon&&age=20 」の 「 ? 」より後の部分に当たります。
サーバーにデータを送信する方法にクエリパラメータがあります。
クエリパラメータとは、URLに含まれるキーと値のペアのことで、「 http://localhost:3000/form?name=jon&&age=20 」の 「 ? 」より後の部分に当たります。
アプリケーションを「 Express Generator 」で作成し、以下のファイルを追加します。
ブラウザを開きアドレスバーに「 http://localhost:3000/form?name=jon&&age=20 」と入力してください。
クエリーパラメータの値が表示されていれば、成功です。
var formRouter = require('./routes/form');
app.use('/form', formRouter);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%- title %></title>
</head>
<body>
<p><%- content %></p>
</body>
</html>
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
let name = req.query.name;
let age = req.query.age;
let data = {
title: 'Hello',
content: '私は' + name + 'です。年齢は' + age + 'です。'
};
res.render('form', data);
});
module.exports = router;
form.ejs と form.js のファイルを以下のように変更します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%- title %></title>
</head>
<body>
<p><%- content %></p>
<form action="/form/post" method="post">
<input type="text" name="message">
<input type="submit" value="送信">
</form>
</body>
</html>
var express = require('express');
var router = express.Router();
router.get('/', (req, res, next) => {
let data = {
title: 'Hello',
content: '送信してください。'
};
res.render('form', data);
});
router.post('/post', (req, res, next) => {
let msg = req.body['message'];
let data = {
title: 'Hello',
content: '送信されたデータ:' + msg
};
res.render('form', data);
})
module.exports = router;
パスパラメータ(:id)の値を取得するには、以下のようにします。
router.post('/delete/:id', (req, res, next) => {
let id = req.params.id;
... 略 ...
});