2016-04-27 8 views
0

私のapp.get(idCtrl.js)の中に私のapp.use(index.js)で定義されたパラメータにアクセスしたいと思います。下に私のコードの煮詰めバージョンがあります。経路は動作し、/1234のようなURLのコントローラに私を送りますが、req.paramsから:idにアクセスすることはできません。コントローラのapp.useからパラメータにアクセスします

router.param('id',function(req,res,next,id) 
{ 
    //d owhatever you want with your param here 
    req.paramID = id; // save it in your req 
    next(); // Continue to your get('/:id') 
}; 

次に、あなたのparam設定

まず、

index.js

var express = require('express'); 
var app  = express(); 
var idCtrl = require('./idCtrl'); 
... 
app.use('/:id([0-9]{4})', idCtrl); 

idCtrl.js

var express = require('express'); 
var router = express.Router(); 
... 
router.get('/', function(req, res){ 
    // I wanna access :id from the app.use in index.js 
}); 
... 

答えて

0

そのような状況に対処する適切な方法であります、pを使ってルートを設定するaram

router.get('/:id', function(req, res){ 
     console.log(req.paramID); // You got your param here 
}); 
+0

私は 'index.js'コードをそのまま残し、' idCtrl.js'ファイルを修正しますか? –

+0

app.use( '/:id([0-9] {4})'、idCtrl); app.use( '/'、idCtrl)にする必要があります。残りは大丈夫です – QoP

関連する問題