我的Express.js應用程序一直在擲Cannot read property 'req' of undefined
。實質上,它會偵聽GET
請求,獲取content
查詢,然後回覆一個表。以下是提出問題的部分。Express.js無法讀取undefined屬性'req'
index.js
var panels = require('./modules/panels.js');
app.get('/panel', function (req, res) {
var user;
if (user = req.session.user) {
panels.getContents(req.query.content, user.innId, res.send);
} else {
res.sendStatus(401);
}
});
模塊/ panels.js
exports.getContents = function(panelName, innId, callback) {
var response = "";
switch (panelName) {
case 'tenants':
con.query(queryString, queryParams, function(err, rows) {
if (err) {
handle(err);
} else {
if (rows.length == 0) {
var tenants = 0;
var debtors = 0;
} else {
var tenants = rows[0].tenants;
var debtors = rows[0].length;
}
response = convertToHTMLTable(rows);
}
callback(response); /*THE ERROR POINTS HERE */
});
break;
/* other cases here */
default:
response += "Invalid Request";
callback(response);
}
}
我做了什麼錯?我的猜測是,我不假設通過res.send
作爲回調。那麼,我該如何解決它?
你嘗試用'()=> res.send()'替換'res.send'嗎? –
'user = req.session.user'應該是'user == req.session.user',究竟是哪一行會拋出錯誤? –
@AdamAzad不,我想分配會話給用戶,同時檢查它是否真實。我在那裏發表了一條錯誤的評論。它在panels.js中。 – starleaf1