首页 > 解决方案 > 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>

我怎样才能做到这一点?错误在哪里?

标签: javascriptlaravelcontrollerhtml5-video

解决方案


我通过将此属性添加到视频来解决它,并删除脚本:

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>

推荐阅读