在我app.js,我有這樣發送變量路由器ExpressJS
var user = "max";
一些變量和路由功能
app.post('/register', user.postRegister);
,在我/routes/user.js我有一個這樣
exports.postRegister = function(req, res){
// how do get the user variable from here?
}
在我app.js,我有這樣發送變量路由器ExpressJS
var user = "max";
一些變量和路由功能
app.post('/register', user.postRegister);
,在我/routes/user.js我有一個這樣
exports.postRegister = function(req, res){
// how do get the user variable from here?
}
模塊的功能你可以用封閉做到這一點,就像這樣:
app.post('/register', user.postRegister(user));
exports.postRegister = function(user) {
return function(req, res){
// now you have user here
}
}
創建的部分功能,使用戶名將會作爲第一個參數傳遞到您的處理:
// app.js
var userName = 'max';
app.post('/register', user.postRegister.bind(user, userName));
// routes/user.js
exports.postRegister = function(userName, req, res) {
...
}
我想你要訪問控制器的用戶信息,如果是這樣的話。在這種情況下最好使用會話。
例子:
var setSession = function(req, res, next)
{
req.session.user = "max";
//Or get the actual user by querying the database
next();
}
然後
app.post('/register', setSession, user.postRegister(user));
exports.postRegister = function(req, res){
var user = req.session.user;
}
這取決於...這是一個現實的例子嗎?爲什麼那裏的變量(硬編碼?)在第一位? – Prinzhorn