Показать все сообщения уведомления с помощью ajax

0

Я использую AJAX для отображения уведомлений о сообщениях, но проблема в том, что если я отправлю два сообщения конкретному пользователю одновременно, он получит только последнюю версию. это файл my_js.js:

function updatess() {
     $.getJSON("php/fetch.php", function(data) {
       $.each(data.result, function(){
        var name = this['sender_name'];
        var message = this['message'];

       $( '#messages' ).attr( 'id', 'new_msgs' );       
    $('div.from_name').html( name );
    $('div.message').html( message );
   });
 });
}

и это моя индексная страница:

<div id="msg_holder" style=" overflow-x:scroll ;overflow-y: hidden; position:fixed;height:45px;width:865px;background-color:yellow;bottom:0px; left:144px; ">
<div class="mess_test" style="width:165px; height:35px; background:blue; bottom:0px; left:144px; margin-right: 16px">
<div class="from_name" style="float:left; "></div>
<div class="message" style="float:right;"></div>
</div>
Теги:

1 ответ

1

.html() сбросит HTML- код ваших элементов, вы, вероятно, захотите использовать .append() вместо этого:

Вставьте содержимое, указанное параметром, в конец каждого элемента в наборе согласованных элементов.

Таким образом, вы можете изменить:

$('div.from_name').html( name );
$('div.message').html( message );

чтобы:

$('div.from_name').append( name );
$('div.message').append( message );
  • 0
    спасибо, но это работает, если два сообщения приходят от одного пользователя, если эти два сообщения приходят от разных пользователей, это дает мне что-то вроде message_from: user_one message_from: user_two message: hi message: hello, я имею в виду, что два сообщения появляются в одном окне , что я хочу, чтобы появиться в разных окнах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню