laravel - 视频点击计数 laravel
问题描述
我正在尝试使用 Laravel 计算我的视频的点击次数。我按照我在 Google 上找到的这个教程进行操作:http: //cameronscott.co/posts/tracking-page-clicks-in-laravel但没有任何效果。我点击了视频,它并没有在数据库中增加。这是我的代码。
路线:
Route::get('video/{id}/click','ClickController@clickvideo');
控制器:
class ClickController extends Controller
{
public function clickvideo($id){
$po=User::findorfail($id);
$po->increment('clicks');
$po->update();
}
意见:
<a href="{{url('video/{$proo->id}/click')}}" class="js-click-video" style="border:none; background:none;">
<video class="video1" id="cb" preload="auto" data-post-id="{$proo->id}" style=" overflow: hidden; width: 30vh; object-fit: cover; float:left; clear:both;
height: auto; padding-left:2%; margin-top:0px; border:2px solid white; cursor:pointer; "><source src="{{$proo->intro_video}}#t=13" playsinline alt="Video Unavailable" id="" ></source>
</a>
JavaScript:
$('.js-click-video').click(function(e){
e.preventDefault();
var post=$(this).closest('.video1');
var postId=post.attr('data-post-id');
registerPostClick(postid);
});
function registerPostClick(postid){
$.ajaxSetup({
headers:{
'X-CSRF-TOKEN' : $('meta[name="_token"]').attr('content')
}
})
$.ajax({
type: 'post',
dataType: 'JSON',
url: '/video/' + postId + '/click',
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(JSON.stringify(xhr.responseText));
}
});
}
解决方案
您在此处的变量名中缺少小胡子:
data-post-id="{$proo->id}"
应该
data-post-id="{{$proo->id}}"
这也应该是:
*{{url('video/{$proo->id}/click')}}*
{{url('video/' . $proo->id .'/click')}}
此外,这不是必需的
$po->update();
推荐阅读
- flutter - 防止容器填充 ReorderableListView 中的所有空间
- java - Androidx ViewPager2 不兼容类型:ViewPagerAdapter 无法转换为 Adapter
- amazon-web-services - 我将如何创建一个 Minecraft EC2 服务器,当有人尝试使用它时它会自动启动
- sql-server - Docker 无法访问外部数据库服务器
- ruby-on-rails - 是否需要在 form_with 中提供范围、url 和模型?
- python - 如何在python中表示函数参数
- assembly - 如何在 ARM 程序集中检测无效的用户输入
- javascript - 具有函数的对象中的流类型
- c# - 从 WordNet 中提取名词
- python - 查找列表索引大于第二个列表中元素的有效解决方案