Я использую server.php
для вывода данных платежа следующим образом:
<?php
$invoice = array(
'id'=>302,
'userid'=>2,
'invoicenum'=>'',
'date'=>'2018-12-10',
'duedate'=>'2018-12-10',
'datepaid'=>'0000-00-00 00:00:00',
'last_capture_attempt'=>'0000-00-00 00:00:00',
'subtotal'=>'0.70',
'credit'=>'0.00',
'tax'=>'0.00',
'status'=>'Unpaid',
'paymentmethod'=>'paypal'
);
$result = array(
'status'=> true,
'invoice'=>$invoice
);
print_r(json_encode($result));
В моем client.html
, если результат AJAX соответствует этому условию, он обновит страницу:
<script type="text/javascript">
var falg = true;
var getting = {
url:'server.php',
dataType:'json',
success:function(res) {
if(res.invoice.status == 'Unpaid' && res.status==true){
console.log('success');
history.go(0);
//this.flag = false;
//window.clearInterval();
}else {
console.log('error');
}
}
};
window.setInterval(function(){$.ajax(getting)},1000);
</script>
Я тоже хочу остановить опрос ajax, вы видите, что я пробовал flag и window.clearInterval, но все не удалось, потому что страница обновляется.
Итак, как реализовать эффект?когда результат удовлетворяет условию, обновите страницу и тоже прекратите опрос ajxa?