@mitya6

Как обновлять данные сервера и не выводить их повторно?

Всем добрый вечер.
Такая проблема - получаю данные с сервера, записываю , через время опять приходят данные ( через 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);
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
// ключем делаем строку 
var key = data.user_id +"_"+ data.datetime;
// а дальше в хеш добавляем
output[key] = data;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы