Я пытаюсь сделать что-то вроде сайта чата, теперь, когда вы загружаете сайт, вы получаете это поле ввода, в котором вас просят ввести имя, подобное этому:
после вводаНазовите имя и нажмите кнопку рядом с ним, которая говорит «перейти к чату», он задает имя пользователя, используя это:
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](https://i.stack.imgur.com/s5R7D.png)
теперь это все еще работает как положено, затем, когда я перезагрузлю страницу, она покажет всплывающее окно, потому что куки установлены ![enter image description here](https://i.stack.imgur.com/kBmVP.png)
проблема возникает после этой части, она будет идтиПерейдите на страницу отправки сообщения с этой функцией:
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](https://i.stack.imgur.com/CIkn6.png)
и будет отображаться только как {} в консоли ![enter image description here](https://i.stack.imgur.com/YLNrJ.png)
Что здесь не так, естьпредполагаемая причина, по которой пользователь не будет снова настроен на использование файлов cookie?
Пожалуйста, спросите, если что-то неясно, я попытаюсь объяснить это более четко.