GETパラメータ、POSTパラメータ取得
概要
GETパラメータはreq.queryで、POSTパラメータはreq.bodyより取得する
サンプル
app.js
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, test = require('./routes/test') // 追加
, param1 = require('./routes/get_param') // 追加
, param2 = require('./routes/post_param') // 追加
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
// ルーティングメソッド設定
app.get('/', routes.index);
app.get('/users', user.list);
app.get('/test', test.index); // 追加
app.get('/test/main', test.main); // 追加
app.get('/param1', param1.index); // 追加
app.get('/param1/form', param1.form); // 追加
app.get('/param2', param2.index); // 追加
app.post('/param2/form', param2.form); // 追加
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
routes/get_param.js
/*
* テスト
*/
exports.index = function(req, res){
var str = "";
str += "<!DOCTYPE html>";
str += "<html>";
str += " <head>";
str += " <meta charset=\UTF8\" />";
str += " <title>GETパラメータテスト</title>";
str += " </head>";
str += " <body>";
str += " <form action=\"/param1/form\" method=\"get\">";
str += " <p>";
str += " <span>パラメータ1</span>:";
str += " <input type=\"text\" name=\"key1\" />";
str += " </p>";
str += " <br />";
str += " <p>";
str += " <span>パラメータ2</span>:";
str += " <input type=\"text\" name=\"key2\" />";
str += " </p>";
str += " <input type=\"submit\" value=\"送信\" />";
str += " </form>";
str += " </body>";
str += "<html>";
res.send(str);
};
/*
* GETパラメータを取得
*/
exports.form = function(req, res){
// GETパラメータを取得
var p1 = req.query.key1;
var p2 = req.query.key2;
var str = "";
str += "<!DOCTYPE html>";
str += "<html>";
str += " <head>";
str += " <meta charset=\UTF8\" />";
str += " <title>GETパラメータテスト(取得後)</title>";
str += " </head>";
str += " <body>";
str += " <div>";
str += " <span>key1</span>:<span>" + p1 + "</span>";
str += " </div>";
str += " <div>";
str += " <span>key2</span>:<span>" + p2 + "</span>";
str += " </div>";
str += " </body>";
str += "<html>";
res.send(str);
};
routes/post_param.js
/*
* テスト
*/
exports.index = function(req, res){
var str = "";
str += "<!DOCTYPE html>";
str += "<html>";
str += " <head>";
str += " <meta charset=\UTF8\" />";
str += " <title>POSTパラメータテスト</title>";
str += " </head>";
str += " <body>";
str += " <form action=\"/param2/form?test=1\" method=\"post\">";
str += " <p>";
str += " <span>パラメータ1</span>:";
str += " <input type=\"text\" name=\"key1\" />";
str += " </p>";
str += " <br />";
str += " <p>";
str += " <span>パラメータ2</span>:";
str += " <input type=\"text\" name=\"key2\" />";
str += " </p>";
str += " <input type=\"submit\" value=\"送信\" />";
str += " </form>";
str += " </body>";
str += "<html>";
res.send(str);
};
/*
* POSTパラメータを取得
*/
exports.form = function(req, res){
// POSTパラメータを取得
var p1 = req.body.key1;
var p2 = req.body.key2;
var p3 = req.query.test;
var str = "";
str += "<!DOCTYPE html>";
str += "<html>";
str += " <head>";
str += " <meta charset=\UTF8\" />";
str += " <title>POSTパラメータテスト(取得後)</title>";
str += " </head>";
str += " <body>";
str += " <div>";
str += " <span>key1</span>:<span>" + p1 + "</span>";
str += " </div>";
str += " <div>";
str += " <span>key2</span>:<span>" + p2 + "</span>";
str += " </div>";
str += " <div>";
str += " <span>test</span>:<span>" + p3 + "</span>";
str += " </div>";
str += " </body>";
str += "<html>";
res.send(str);
};
結果(GET)
結果(POST)
最終更新:2013年04月07日 08:30