javascript - Laravel 和 JavaScript:视频播放完成后如何重新加载元素
问题描述
我有这个视频播放器:
<video oncontextmenu="return false;" width="100%" height="auto" controls id="player" controls controlsList="nodownload" disablePictureInPicture poster="{{asset('images/'.$course->id.'.png')}}" onended="update({{$order->id}} , {{$order->lession_id}})">
<source src="{{asset('lectures/'.$course->id.'/'.$order->lession_id.'.mp4')}}" type="video/mp4">
<source src="{{asset('lectures/'.$course->id.'/'.$order->lession_id.'.mp4')}}" type="video/ogg">
</video>
结束后我想更新lession_id数据,我像这样创建路由和控制器:
Route::post('/lession/{order_id}/{lession_id}', [App\Http\Controllers\user\User_controller::class, 'update_lession'])->name('update_lession');
用户控制器中的方法
public function update_lession($order_id , $lession_id)
{
$orders=Order::where('id',$order_id);
$orders->lession_id = $lession_id+1;
if ($orders->save()){
return back();
};
}
我尝试使用 JavaScript 但不起作用:
<script type="text/javascript">
function update(order_id , lession_id){
$.ajax({
url : 'update_lession',
type:'POST',
cache: false,
data :{
'order_id' :order_id,
'lession_id':lession_id,
}
success: function(dataResult){
console.log
}
})
}
</script>
我怎样才能做到这一点?错误在哪里?
解决方案
我通过将此属性添加到视频来解决它,并删除脚本:
data-href="{{URL::to('lession/'.$order->id.'/'.$order->lession_id)}}"
onended="window.location.href = $(this).data('href');"
最终视频 div 代码:
<video data-href="{{URL::to('lession/'.$order->id.'/'.$order->lession_id)}}" oncontextmenu="return false;" width="100%" height="auto" controls id="player" controls controlsList="nodownload" disablePictureInPicture poster="{{asset('images/'.$course->id.'.png')}}" onended="window.location.href = $(this).data('href');">
<source src="{{asset('lectures/'.$course->id.'/'.$order->lession_id.'.mp4')}}" type="video/mp4">
<source src="{{asset('lectures/'.$course->id.'/'.$order->lession_id.'.mp4')}}" type="video/ogg">
</video>
推荐阅读
- python - 如何使用某些条件在 python pandas 中获取行和列的总和
- python - VS Code - 文档“VS Code 中的 Python 入门”出现问题,无法创建虚拟环境
- android - Delphi获取Android通话记录日期
- c# - 错误的 appsettings.json 被复制到调试文件夹
- asterisk - 如何在调用 Asterisk 之前执行代码
- java - 如何在java中更改while to do?
- excel - 如何使用 vb.net 在 Excel 中设置 Wordwrap
- mysql - MYSQL DB 存储关键字和 URL 索引的最佳方法
- here-api - 浏览 Api - 多个类别未按预期工作
- firebase - Firebase 托管/功能与 Zeit Now