将数据从控制器传递到视图而无需重新加载Laravel 5.1

pass data from controller to view without reloading Laravel 5.1

本文关键字:新加载 加载 Laravel 控制器 数据 视图      更新时间:2023-09-26

在一个按钮上点击我通过ajax发送post request到我的controller。不同的按钮点击将通过ajax发送不同的值到我的controller。在控制器中,我从数据库中检索数据。我想在每次点击按钮时发送数据给我的视图,这样我就可以使用它了。如果可能的话,我想在不加载页面的情况下发送数据。我该怎么做呢?我不想使用return view('viewname')。目前,我正在注入控制器到我的视图,但在按钮点击值被改变,因此从数据库的数据也。也许我必须不断地检查我的观点中的价值?有什么提示我可以开始吗。我是JS的初学者。

My controller Method

public function getUserMessages(Request $request){
            $id = (int)$request->request->get('id');
        $messages = Message::where('message_by' , $id)->get();
        return $messages;
    }
<<p> 视图/strong>
<div class="display-messages-area">
                @foreach($messages->getUserMessages($request) as $message)
                    <span style="color: #000;" class="{{$message->message_by==Illuminate'Support'Facades'Auth::user()->id ? "pull-right" :""}}">{{$message->message}}</span><br>
                @endforeach
            </div>

我通过学习更多的ajax解决了我的问题,解决方案是使用ajax success function。因此,在成功函数中,我将controller返回的数据加载到div中。

<script>
        $(document).ready(function(){
            $("button").click(function(){
                $.ajax({
                    url:'a',
                    type: 'POST',
                    dataType:'json',
                    success: function(data){
                        var x;
                        for(x in data){
                            $("#div1").append(data[x]);
                        }
                    }
                });
            });
        });
    </script>