添加新数据时自动刷新另一个页面Laravel 5.8 Ajax

时间:2019-09-11 06:36:03

标签: javascript php ajax laravel laravel-5.8

我一直在搜索并尝试如何在更新数据时刷新另一个页面或刀片文件。就我而言,每当我单击call.blade.php中的 Call Next 按钮时,数据将在wintwo.blade.php中更新或更改。

ui for call.blade.php call ui

ui for wintwo.blade.php window ui

控制器存储代码

$call = Call::find($request->id);
$call->user_id = Auth::user()->id;
$call->counter_id = Auth::user()->counter_id;
$call->called = 'YES';
$call->save();

return response()->json($call);

call.blade.php javascript代码

<script type="text/javascript">
$('#update').click(function(){
    $.ajax({
        type:'post',
        url: 'updatecall',
        data:{
            '_token':$('input[name=_token]').val(),
            'id':$('input[name=call_id]').val(),
        },
        success:function(data){
            window.location.reload(); 
            setInterval(function() {
                $('#update').load('{{ action('DetailController@index') }}');
            }, 1000);
        },
    });
}); </script>

wintwo.blade.php javascript代码

<script type="text/javascript">
    $(document).ready(function () {
        window.setTimeout(function () {

            window.location.href = '/queue'; // "/queue" is the url route for wintwo.blade.php

        }, 2000);

    }
</script>

它不起作用。我进行了很多搜索,并尝试了所有尝试,但无济于事。

2 个答案:

答案 0 :(得分:1)

您必须使用Web套接字服务,例如 Pusher https://pusher.com/docs

答案 1 :(得分:1)

您可以使用Socket编程(例如Laravel WebSockets)或将node.js与socket.io包一起使用来实现。 带有Node.js的Socket.io很容易学习。 https://socket.io/get-started/chat