Laravel 5.5发送数据到视图而不重新加载页面

时间:2017-09-27 13:43:55

标签: php jquery ajax laravel

在我看来,我有一些数据,我可以在$data使用$data是其他几个带密钥的数组。现在我的目标是当用户从下拉列表中选择某些内容时,我想更新此$data数组,而不进行重定向。

我知道我需要使用AJAX并且我的AJAX调用工作正常我只是有点困惑我应该在我的控制器方法中做什么我需要做这样的事情但是没有刷新页面但这会删除我之前在$ data数组中的所有其他数据

这是我的方法:

/**
 * Fetches a company 
 *
 * @param $companyId
 */
public function fetchCompany($companyId)
{
    $company = Company::where('id', $companyId)->first();

    $data['company'] = $company;

    return view('this should be the same view that I did my ajax call from', ['data' => $data]);
}

所以我想将此$company添加到我在视图中使用的现有$data数组中。

1 个答案:

答案 0 :(得分:2)

回答我迄今所了解的内容。

public function fetchCompany($companyId)
{
    $company = Company::where('id', $companyId)->first();
    return response()->json($company);
}

然后你需要像这样调用ajax

<script>
        $(document).ready(function(){
            $("whatever your dropdown id").change(function(){
                $.ajax({
                    url:'yoururl',
                    type: 'whatever datatype',
                    dataType:'json',
                    success: function(data){
                        var x;
                        for(x in data){
                            $("#div1").append(data[x]);
                        }
                    }
                });
            });
        });
    </script>