我在Ajax中有一个计数器,我想将计数器的值保存在数据库中,这样即使用户断开连接或刷新页面,计数器的值也会继续增长。我使用laravel框架。请怎么做?
答案 0 :(得分:0)
将csrf_token()
添加到刀片视图上的某个位置:
<input type='hidden' name='_token' value='{{ csrf_token() }}' id="csrf">
将此路线添加到您的routes/web.php
文件中:
Route::post('add-to-counter', 'YourController@add');
您的php脚本:
public function add()
{
// retrieve de counter value from the database:
$i = DB::table(...)->select(...)->get();
$i = ++$i;
// and save it to the database
return response()->json([
'data' => $i
]);
}
然后,创建一个ajax请求:
let _token = $("#csrf").val();
$.ajax({
url: 'add-to-counter',
method: 'post',
data: {
'_token': _token,
}
success: function(response){
// What happens if the ajax request finishes successfully
alert("The current counter value is: "+response.data);
}
});