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

Как сделать api запрос один раз в день?

Как сделать api запрос, лишь один раз в день?
пример запроса
var url = "";
		$.getJSON(url, function(data){
			$('#class').html(data.vid[0].mark.desk);
		});
  • Вопрос задан
  • 328 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 2
@Bobrovskih
В localstorage писать дату (дд.мм.гггг) последней отправки апи запроса.
При открытии страницы чекнуть localstorage: дата равно текущей? Если нет - отправить апи запрос, обновить localstorage .
Ответ написан
Комментировать
BRAGA96
@BRAGA96
// Если в LocalStorage есть ключ request
if (localStorage.getItem('request') !== null) {
	// Сохраним время timestamp из storage
	var timestamp = Number(localStorage.getItem('request'));
	// Если текущее время больше чем timestamp + сутки, 
	// то сделать запрос еще раз и сохранить новый timestamp
	if (Date.now() > timestamp + 864e5) {
		makeRequest();
	}
} else {
	// Если ключа request нет в localStorage, то сделаем запрос и создадим его
	makeRequest();
}

// Функция запроса
function makeRequest() {
	var url = '';
	return $.getJSON(url, function(data) {
		// При успешном запросе создадим/обновим запись в localStorage с текущем временем timestamp
		localStorage.setItem('request', Date.now());
		$('#class').html(data.vid[0].mark.desk);
	});
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zxscv
@zxscv
window.setTimeout(function(){
   var url = "";
    $.getJSON(url, function(data){
      $('#class').html(data.vid[0].mark.desk);
    });
}, 86400000);

но страница должна висеть в браузере и не никогда не закрываться
Ответ написан
Ваш ответ на вопрос

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

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