Я пытаюсь перенаправить на домашнюю страницу. html после успешного входа в систему. Но я получаю сообщение об ошибке, и страница не отображается. Я знаю, что это может быть связано с двумя отправленными ответами или чем-то в этом роде. Я опубликовал перед этим вопрос о stackoverflow, но не получил никакого ответа. Я действительно буду оценивать, если кто-нибудь может мне помочь :)
Я также использовал return response.redirect('/home');
, как было указано в одном из ответов, но все же ничего не работает.
На домашнем маршруте у меня есть console.log, и он работает, но файл не отображается. Итак, я предполагаю, что этот код перенаправляется на /home
, но не открывает файл.
Когда я использую console.log(response.headersSent);
, он отображает false.
app.post('/auth', function(request, response) {
var number = request.body.number;
var password = request.body.pwd;
if (number && password) {
var sql = `SELECT
fyp_helpers.Mobile_number AS number,
fyp_helpers.Password AS Password
FROM fyp_helpers
WHERE Mobile_number = ?
UNION
SELECT
fyp_employers.Employer_Contact AS number ,
fyp_employers.Employer_Password AS Employer_Password
FROM fyp_employers
WHERE Employer_Contact = ?`;
connection.query(sql, [number, number], function (error, results, fields) {
if (results.length > 0) {
var hashedPassword = results[0].Password;
bcrypt.compare(password, hashedPassword, function (cryptErr, cryptResult) {
if (cryptResult) {
request.session.loggedin = true;
request.session.number = number;
return response.redirect('/home');
} else {
response.send('Incorrect Password!');
console.log(cryptErr);
}
});
} else {
response.send('User not registered');
}
});
}
else {
response.send('Please enter Username and Password!');
response.end();
}
});
app.get('/home', function(request, response) {
if (request.session.loggedin) {
console.log('I am home');
response.sendFile(path.join(__dirname + '/HomePage.html'));
} else {
response.send('Please login to view this page!');
}
response.end();
});
app.listen(3000);
Вот ошибка.