Как сделать так, чтобы ajax-функция выполнялась только в определенном случае?
У меня есть ajax функция, которая обновляет каждую секунду некоторое значение на странице, я хочу обновлять его только когда скрипт работает, потому что для того, чтобы не запрашивать значение, которое является тем же самым.
Сценарий обновляет это значение, и ajax обновляет его на сайте, но когда сценарий не работает, мой ajax запрашивает значение. Как заставить его работать только тогда, когда скрипт работает?
var interval = 1000;
function update() {
$.ajax({
type: 'GET',
url: 'http://localhost:8000/api/updating',
headers : {'Authorization': "Token "+ token,},
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
$('#points_a').html(data)// first set the value
},
complete: function (data) {
// Schedule the next
setTimeout(update, interval);
}
});
}
setTimeout(update, interval);
Это скрипт в формате python, Django:
def task(userid, seconds_for_thirtydays=0):
if(seconds_for_thirtydays < 2592000):
p_a = Wallet.objects.filter(name__id=userid).values("points").first()['points']
add = p_a + 1
result = Wallet.objects.filter(name__id=userid).update(points=add)
seconds_for_thirtydays = seconds_for_thirtydays + 1
time.sleep(1)
task(userid)
else:
return
Я хочу сделать следующее: Когда значение не меняется (скрипт не работает), то этот ajax не будет работать и не будет делать запросы, возможно ли это?