Переменная сеанса не обновляется методом GET - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть одностраничное приложение для чата с различными комнатами для присоединения и окном чата, которое отображается, когда пользователь нажимает на одну из них.

Чтобы убедиться, что окно чата остается открытым, еслиПользователь обновляет страницу, у меня в модели User есть переменная, значение которой по умолчанию равно False, меняется на True, когда пользователь щелкает, входит в комнату, и на False, когда они выходят из нее.

Я использую метод GETпроверить и изменить переменную в чате.Хотя ответ показывает, что значение переменной было правильно изменено, у меня есть кнопка отладки, которая просто возвращает объект User, чтобы проверить значение переменной, и она не изменяется.

Клиент

$(document).ready(function(){
   $('.topic').click(function(){
       $.get("/changeInChatStatus", function(data, status){
       // The variable is shown to be changed in the response
       console.log("inChat variable is set to: " + data);
       });
   });
});

Сервер - Маршруты

app.get('/changeInChatStatus', home.changeInChatStatus);

Сервер - Контроллер

exports.changeInChatStatus = function(req, res, next) {
 if (req.session.user && req.session.user.inChat == false) {
    req.session.user.inChat = true;
    res.send(req.session.user.inChat);
    console.log("Status Changed to true");
 } else if (req.session.user && req.session.user.inChat == true){
    req.session.user.inChat = false;
    res.send(req.session.user.inChat);
    console.log("Status Changed to false");
 }
}

Любая идея, почему это не такобновлен?В некоторых ответах прочитано упоминание асинхронности JavaScript, но методы console.log () в Контроллере полностью достигнуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...