Почему не работает передача socket.io?

Всем привет!
Начал изучать socket.io, столкнулся с такой проблемой:

На сайте есть форма (инпут текст + кнопка). Пользователь вводит текст и отправляет сообщение в чат
С помощью PHP в код скрипта подставляются данные пользователя (логин, ссылка на аву, айди).

Код на клиенте такой:
spoiler
..........

// Отправка сообщения при клике
$('#send-btn').click(function() {
	var message = $('#message').val();
	var username = '<?=$user['personaname']?>'; 
	var avatar = '<?=$user['avatarmedium']?>';
	$('#message').val('');

	socket.emit('new message', (username, message, avatar));
});

// Получаем сообщения (для начала пытаюсь просто в консоль вывести значения)
socket.on('new message', (username, message, avatar) => {
	console.log('Message from: ' + username);
	console.log('Message: ' + message);
	console.log('Ava: ' + avatar);
	console.log('_____________________');
});

..........


Код на сервере:
spoiler
socket.on('new message', function (username, message, avatar) {
	console.log('new message');

	io.sockets.emit('new message', (username, message, avatar));
});


Но почему-то выдает в консоли следующее:
spoiler

Message from: null
Message: undefined
Ava: undefined
_____________________


Подскажите, что я делаю не так?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DanielParokonnyy
Да потому что должен передаваться лишь объект с переменными (один параметр). Просто передавай объект (можешь назвать pocket) и сделай свойствами объекта значения username, message, avatar. А получать значения вот так: pocket.username ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы