Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как обновлять данные сервера и не выводить их повторно? (https://javascript.ru/forum/jquery/67816-kak-obnovlyat-dannye-servera-i-ne-vyvodit-ikh-povtorno.html)

Zamay 10.03.2017 00:32

Как обновлять данные сервера и не выводить их повторно?
 
Всем добрый вечер.
Такая проблема - получаю данные с сервера, записываю , через время опять приходят данные ( через 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);

рони 10.03.2017 00:43

Цитата:

Сообщение от Zamay
!mesAll[obj.user_id] && !mesAll[obj.datetime]

:-?


Часовой пояс GMT +3, время: 08:25.