0
下面的代碼演示瞭如何從中間件登錄req.hash_id
。它顯示爲undefined
。無論如何,我可以得到這個工作?或者經常使用中間件來解析「:hash」。將.param的req變量傳遞給.use?
app.param("hash",function(req, res, next, id){
req.hash_id = id;
return next();
});
app.use(function(req, res, next){
console.log(req.hash_id);
return next();
});
我想用'app.use()'中間件攔截所有的'app.param之間的呼叫() '和'app.all()'並使用'req.hash_id'變量。但這裏是'undefined'完整的示例:https://gist.github.com/4532510。 – ThomasReggi
這有點棘手。 'app.param'是路由器的一部分。 'req.hash_id'是'undefined',因爲中間件在'router'之前被調用。將'app.use'放在''router'後面將不起作用,因爲路由器是中間件鏈的末端。 – zemirco
是的,我想我現在知道它是如何工作的。我擺脫了'app.param',並解析'app.use'中間件中的'req.url'作爲散列。 – ThomasReggi