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)

http://localhost:3000/param1


http://localhost:3000/param1/form?key1=aaaa&key2=bbbb


結果(POST)

http://localhost:3000/param2


http://localhost:3000/param2/form?test=1



最終更新:2013年04月07日 08:30