Laravel 和 JavaScript :视频播放完成后如何重新加载元素
Laravel and JavaScript : How to reload elements after video play finished
我有这个视频播放器:
<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>
我有这个视频播放器:
<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>