Невозможно сохранить контекст при обновлении страницы с помощью setInterval () для приложения чата - Node.js - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь создать приложение для чата.Но я сталкиваюсь с проблемой, когда пытаюсь периодически обновлять страницу чата с помощью функции setInterval () в Node.js. Ниже мой ajax-код:

setInterval(function(){
        //retreive user chat
        $.ajax({
            url: '/getMessage',
            method: 'POST',
            data : {receiver:receiver,sender:sender},
            dataType:'json',
            success: function(response){
              let oldMessages = document.querySelectorAll('#textArea .incoming');
              let messages = response.data;
                let data = messages.map(message => {
                    let html = `<span class="chatMsg ${sender!=message.sender? 'incoming':'outgoing' }">${message.message}</span>`;
                    return html;
                }).join(" ");
                document.querySelector('#textArea').innerHTML =  data;
                let newMessages = document.querySelectorAll('#textArea .incoming');
                console.log(`OLD ${oldMessages.length} NEW ${newMessages.length}`);
                if(oldMessages.length > 0){
                  if(newMessages.length>oldMessages.length){
                    console.log(`RING- ${newMessages.length} ${oldMessages.length}`);
                      document.querySelector('#msg-new').play();
                      document.querySelector('#chatForm').scrollTop = document.querySelector('#chatForm').scrollHeight;
                  }
                }
              }
        });
     },5000);

  }));

Ниже приведен мой код в маршрутах / чате.JS файл:

router.post('/getMessage',function(req,res){
        Message.find(
            {$or:[
                    {sender:req.body.sender,receiver:req.body.receiver},
                    {sender:req.body.receiver,receiver:req.body.sender}
                ]
            },
            (err,data) => {
                res.send({success:true,data:data});
            }
        );
    });

Но приведенный выше код не поддерживает контекст при переключении между пользователями в списке чата.Пожалуйста, помогите мне своевременно обновить эту страницу.

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