URL可変パラメータ取得

概要

ルーティングで「:パラメータID」を設定することで一部のパラメータを可変パラメータとして使用することが可能


サンプル

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')
  , param3 = require('./routes/id_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);
 
app.get('/param3/:id', param3.index);		// 追加
app.get('/param3/:aaa/:bbb', param3.index2);		// 追加
 
http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});
 
 

routes/id_param.js

/*
 * テスト
 */
 
exports.index = function(req, res){
	var id = req.param('id');
	var str = "";
 
	str += "テストメッセージ<br />";
	str += "可変パラメータ:" + id + "<br />";
 
	res.send(str);
};
 
 
exports.index2 = function(req, res){
	var id = req.param('aaa');
	var id2 = req.param('bbb');
	var str = "";
 
	str += "テストメッセージ<br />";
	str += "可変パラメータ1:" + id + "<br />";
	str += "可変パラメータ2:" + id2 + "<br />";
 
	res.send(str);
};
 
 
 

結果

http://localhost:3000/param3/aaa


http://localhost:3000/param3/aaa/bbb




最終更新:2013年04月07日 09:07