Я пытаюсь создать свое первое приложение Node.js. Прямо сейчас я работаю над сайтом входа, который должен перенаправлять пользователя на / backend после успешного входа в систему. Однако в консоли вроде все работает нормально, а браузер просто ничего не делает. Я нашел несколько похожих сообщений здесь, в stackoverflow, но большинство людей использовали AJAX, и я не мог найти ничего, что сработало бы для меня.
Вот мой метод POST. Сначала он аутентифицирует пользователя, и в случае успеха я хочу, чтобы меня перенаправили:
router.post('/login', (req, res) => {
store
.authenticate({
username: req.body.username,
password: req.body.password
})
.then(({ success }) => {
if (success) {
res.redirect('/backend')
}
else res.sendStatus(401)
})
});
Вот мой GET-метод для внутреннего сайта:
router.get('/', function(req, res, next) {
res.render('backend/backend');
});
Не уверен, нужно ли, но вот прослушиватель событий, который запускает метод POST:
const Login = document.querySelector('.Login')
Login.addEventListener('submit', (e) => {
e.preventDefault()
const username = Login.querySelector('.username').value
const password = Login.querySelector('.password').value
post('/login/login', { username, password })
.then(({ status }) => {
if (status === 200) alert('login success')
else alert('login failed')
})
})
Моя консоль показывает что-то вроде этого: Проверка подлинности имени пользователя POST / login / login 302 GET / backend 304
Однако мой браузер не 't show / backend, хотя GET-Method явно вызывается. Спасибо за помощь!