我想完成什么?
->我已经执行了登录查询,如果登录查询为true,则发送特定用户的角色。因此,我正在执行2个查询,其中1个用于验证,另一个用于发送用户角色。我能够将角色存储在对象中,但无法将该对象发送到Angular。我尝试使用res.json(obj (['key'])),res.end(JSON.stringify(obj ['Key']));;他们都没有工作。 还有其他方法吗?
代码:
var Role_id = {
Role: ''
};
router.post('/login', function(req, httpres, next) {
console.log("Inside the login api");
const username = req.body.username;
const password = req.body.password;
console.log(username, password)
pool.query(" select exists(SELECT username FROM users WHERE username = $1 AND password = $2 ) ", [username, password])
.subscribe(
data => {
console.log('success', data)
if (data.rows[0].exists) {
httpres.json({
status: true,
message: 'Login Succesfully',
parameters: req.body
});
var re = ("SELECT role_id from users where username ='" + username + "' AND password = '" + password + "'")
console.log(" re ", re)
pool.query("SELECT role_id from users where username ='" + username + "' AND password = '" + password + "'")
.subscribe(
data => {
console.log("data anonymous...", data.rows[0].role_id)
Role_id['Role'] = data.rows[0].role_id;
console.log("This data has to be read", Role_id['Role']);
// httpres(JSON.stringify(Role_id['Role']));
// httpres.json(Role_id['Role']);
httpres.send(Role_id['Role']);
// httpres.json({
// parameters:req.Role_id['Role']
// });
}, err => {
httpres.send('error');
}
}
else {
httpres.send('error');
}
}, err => {
console.log('error', err)
httpres.send('error');
})
});
答案 0 :(得分:0)
我认为问题是您尝试发送两次响应,但这是不可能的。您只能发送一个回复。可能是您收到此代码的响应: httpres。
json({
status: true,
message: 'Login Succesfully',
parameters: req.body
});
,但不包括下一个代码。因此,如果您需要发送响应中的所有信息,则应将其添加到一个对象中,并在最后发送整个对象。其他情况将无法正常工作。
让我知道是否有帮助。