Я пытаюсь реализовать быстрое решение для входа в систему.
Логин:
- Отправляет запрос POST с помощью AJAX (на стороне клиента)
- NodeJS создает повара ie (На стороне сервера)
- Перезагружает страницу с помощью javascript (на стороне клиента)
Работает нормально
Выход из системы:
- Отправляет запрос POST с помощью AJAX (на стороне клиента)
- NodeJS удаляет повар ie (на стороне сервера)
- Я уверен, удалить повара ie на стороне клиента также с помощью JS (на стороне клиента)
- Перезагружает страницу с помощью JS (на стороне клиента)
- NodeJS еще как-то получает повар ie от
req
???
Итак, когда я перезагружаю страницу после выхода из системы, я все еще вхожу в систему. Только после того, как я принудительно произнесу refre sh или нажму «Выход» еще один раз, я вижу, что я действительно вышел из системы.
Я перепробовал много разных подходов и методов загрузки страницы и удаления готового сообщения ie, но, похоже, ничего не работает.
Javascript:
$("#logout").click(function () {
var username = this.value;
logout(username)
var currentUrl = window.location.href;
window.location.assign(currentUrl); //I tried different methods of reloading the page
});
// perform logout action
function logout(username) {
$.ajax({
type: "POST",
url: "/logout",
data: JSON.stringify({ username: username }),
success: function () {
//just in case remove the cookie
removeLoginCookie()
},
error: function () {
removeLoginCookie()
},
dataType: "json",
contentType: "application/json"
});
}
NodeJS:
app.post('/logout', (req, res) => {
try{
res.clearCookie('userlogin', { path: '/' })
res.send({ "status": "Logged out successfully!" })
}catch(e){
res.sendStatus(500);
}
});