Задать вопрос
@Simple91

Как сохранить данные ответа с сервера и использовать его для последующего сравнения со следующим ответом?

Привет друзья!
И вновь я к Вам с возникшей проблемой.
Дано:
1. orders.html (на клиенте)
2. orders.php (на сервере)
Суть:
С страницы orders.html, отправляется аякс запрос на orders.php
Со скрипта orders.php приходит json ответ, который я парсю и получаю значение первого элемента по индексу.
Там хранится id заказа, например = 15
Все это делается в seninterval через каждые 30 секунд.
Вопрос:
Я хочу где-то сохранить значение id, чтобы сравнить его с вновь пришедшим ответом через 30 секунд. Но, не могу догнать как это сделать, потому что все переменные каждые 30 секунд перезаписываются.

Вот код:

function show() {  // объявили функцию show
$("#contentwrap").empty(); // очищаем див для того чтобы вставить новые данные
$.ajax({              // начало аякс запроса
 type: "POST",
 url: "http://site.com/orders.php", // адрес куда делается запрос 
 crossDomain: true,  // кросс-доменный запрос
 cache: false,
 success: function(result){    // ответ сервера используем result 
 ////////////////////////////////////////////////////
 
/***///////// Записываем в переменную, id последнего заказа, когда появляется новый заказ, делаем уведомление
var jsonres = JSON.parse(result, function(key, value) {
  if (key == 'id') return (value);
  return value;
});

order_number = jsonres[0].id; // Сохраняем нулевой индекс в переменную, там значение например 15
console.log(order_number);
/***/////////////////////////////////////

var result = $.parseJSON(result);   // тут используем result для парсинга ответа 
  $.each(result, function(ind, val)  // используем цикл для вывода всех данных из json
	 {
        
		$("#contentwrap").append('<div class="order_box"> <div class="order_box_from_adress">'+val.from_adress+'</div> <div class="order_box_cost">'+val.order_cost+' тг.</div> <div class="order_box_goto_adress">'+val.goto_adress+'</div><a href="one.html?'+val.id+'"></a></div>');
  	}); 
////////////////////////////////////////////////////       
                          }
        });            
}

$(document).ready(function(){   // ждем готовности документа 
            show();  
            setInterval('show()',30000); 
        });



UPD:
Спасибо за решение Артем' у
Решение:

if (localStorage.order_number != "") {

  if (localStorage.order_number < jsonres[0].id) {
      localStorage.order_number = jsonres[0].id; 
      console.log("Поступили новые данные!");
  } else {
     console.log("Новых данных не обнаружено!");
  }

} else {
  localStorage.order_number = jsonres[0].id;
}

  • Вопрос задан
  • 520 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
devspec
@devspec
Помогло? Отметь решением
Сохраняйте в куки или в localStorage
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы