I have a countdown timer in my view's script block. Edit.blade.php:
<div class='bottom_timer_block'>
<span class="bottime_title">Subscription period</span>
<span><b>End date:</b> {{ $paid_till }}</span>
<span>
<b>Countdown timer: </b>
<span id="demo"></span>
<script>
var countDownDate = new Date('{{ $paid_till }}').getTime();
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
$.post("/ajax/update-payment", {id:$user->id} ).done(function( data ) {
});
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script>
When the counter reaches it's limit. It should call updatePayment function located in my "User" model. My AjaxController:
function updatePayment($id = 0){
$user = User::where('id', $id);
$user->is_paid = 0;
$user->paid_date = null;
$user->paid_till = null;
$user->save();
}
But instead of that I get "Uncaught SyntaxError: Unexpected token >" error. Is there any other way to solve this?