2013-10-07 5 views
0

У меня проблема с линией текста, которая предназначена для добавления в мой контейнер 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); 
} 

в действии: here

линия всплывает только один раз в консоли (вы можете увидеть это для себя), однако он в два раза внутри DIV , Зачем?

+1

Он появился дважды в консоли для меня ... – aug

+3

Если вы используете контролер хрома в качестве консоли, иногда он группирует похожие строки, указывая число, которое он видел слева. Возможно, именно поэтому вы видите его только один раз в консоли? –

+0

Да, да, вы правы, однако это все еще не знает, с какой точки он удваивает – Dharman

ответ

0

Я нашел его. Оказывается, когда я пинговал мой сервер, он не очищал выходную переменную, которая заставляла его отправлять последнее сообщение еще раз. Таким образом, все, что я должен был сделать, это добавить

$output = array(); 

перед отправкой ответа ping обратно клиенту. Thx за помощью.

Смежные вопросы