我的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