У меня проблема с строкой текста, которая должна быть добавлена к моему контейнеру div.
Код выглядит так:
socket.onmessage = function(msg){
var data = JSON.parse(msg.data);
if(data.message!=undefined)
{
message('<p class="message">'+data.message+'</p>');
}
}
function message(msg)
{
console.log(msg); //UP TO HERE THE LINE APPEARS ONLY ONCE
$('#chatLog').append(msg);
$('#chatLog').scrollTop($('#chatLog')[0].scrollHeight);
}
Смотрите в действии: здесь
Строка появляется только один раз в консоли (вы можете видеть это для себя), однако она дважды внутри div. Зачем?
Я нашел это. Оказывается, когда я пинговал мой сервер, он не очищал выходную переменную, которая заставляла его отправлять последнее сообщение еще раз. Поэтому мне нужно было добавить
$output = array();
перед отправкой ping обратно клиенту. спасибо за помощью.