Показать сообщение отдельно
  #1 (permalink)  
Старый 09.03.2017, 23:32
Новичок на форуме
Отправить личное сообщение для Zamay Посмотреть профиль Найти все сообщения от Zamay
 
Регистрация: 01.03.2017
Сообщений: 9

Как обновлять данные сервера и не выводить их повторно?
Всем добрый вечер.
Такая проблема - получаю данные с сервера, записываю , через время опять приходят данные ( через setInterval(messages, 3000); ) , и выводятся те же самые сообщения ! Нужно написать проверку, это я понимаю и решил спросить совета.
Я хочу использовать "Ассоциативный массив" . Сначала записать туда данные , а потом сравнивать по ключу. Но я не совсем понимаю как сделать. У меня приходят данные с полями data.user_id, data.messages, data.datetime.
Я делаю проверку по user_id и datetime. Вот что вышло ...

var messagesData;
var mesAll = {};
function messages() {
    $.ajax({
        type: 'GET',
        url: urls + '/messages',
        success: function (data) {  
            data.forEach(
                function (obj) {
                    messagesData = obj.user_id;
                    if ( !mesAll[obj.user_id] &  !mesAll[obj.datetime] ) //если нет такого id и datetime - то добавить !
                         resMess(obj); // вывод содержимого
                }
            )
        },
        error: function (data, status) { 
            console.error(data, status);
        }
    });
}
 messages();
//setInterval(messages, 3000);
Ответить с цитированием