Установить значение socket.io emit из файлов cookie - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь сделать что-то вроде сайта чата, теперь, когда вы загружаете сайт, вы получаете это поле ввода, в котором вас просят ввести имя, подобное этому: enter image description here после вводаНазовите имя и нажмите кнопку рядом с ним, которая говорит «перейти к чату», он задает имя пользователя, используя это:

function setUsername() {
    var textbox = document.getElementById("name");
    var txtboxval = textbox.value;
    if(textbox.value.length <= 20 && textbox.value.length >= 4){
      socket.emit('setUsername', document.getElementById('name').value);
      setCookie("username", txtboxval, 30);
      socket.on('userExists', function(data) {
        document.getElementById('messages').innerHTML = data;
      });
    }
    else{
        alert("Nimen on oltava vähintään 4 kirjainta pitkä");
        return false;
      }
    };

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

на следующей странице будут отображаться такие сообщения: enter image description here

теперь это все еще работает как положено, затем, когда я перезагрузлю страницу, она покажет всплывающее окно, потому что куки установлены enter image description here

проблема возникает после этой части, она будет идтиПерейдите на страницу отправки сообщения с этой функцией:

function checkCookie() {
      var user = getCookie("username");
      if (user != "") {
          alert("Welcome again " + user);
          setUsername2();
          document.body.innerHTML = '<div class="wrapper"><div class="messagebox"><input type = "text" id = "message" placeholder = "Kirjoita viestisi tähän">\
          <button type = "button" id="sending" name = "button" onclick = "sendMessage()">Send</button></div>\
          <div id = "message-container"></div></div>';
      }
    }

Функция setUsername2:

  function setUsername2() {
    socket.emit('setUsername', user);
  }

, после этого она должна загрузить и показать то же имя, которое указано в сообщении cookie, но оновернет только «[объект объекта]» какИмя: enter image description here

и будет отображаться только как {} в консоли enter image description here

Что здесь не так, естьпредполагаемая причина, по которой пользователь не будет снова настроен на использование файлов cookie?

Пожалуйста, спросите, если что-то неясно, я попытаюсь объяснить это более четко.

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