方法Illuminate \ View \ View :: response不存在

时间:2019-07-02 06:03:14

标签: laravel vue.js laravel-5 vuejs2

我想从表中获取数据时出现错误。

我的控制器:

     public function admin()
        {

             $users = User::with('subs')->get();
             //dd($users);

            return view('admin')->response()->json([
                'users' => $users,
            ], 200);
        }

我的vue.js脚本:

    <script>
        export default {
            data(){
                return{
                    users: []
                }
            },

            methods: {
                showUsers(){
                    axios.get('admin/routes').then(response => {
                        this.users = response.data.users;
                    });
                }
            },
           mounted(){
                this.showUsers();
           }
        }
    </script>

我的刀片html代码:

    <tr v-for="user in users">
        <td>{{ user.id }}</td>
        <td>{{ user.name }}</td> 
    </tr>
  

方法Illuminate \ View \ View :: response不存在。

当我想从表中获取数据时。

3 个答案:

答案 0 :(得分:1)

代码中的一切都很好,只发送响应,因为我们只需要数据库表的数据,而无需返回视图。

return response()->json([
    'users' => $users,
]);

答案 1 :(得分:0)

您不需要为此返回视图,因为您只需要JSON响应即可使API正常工作。

return response()->json([
    'users' => $users,
]);

答案 2 :(得分:0)

您应该这样返回view json ...

return response(view('admin',array('users'=>$users)),200, ['Content-Type' => 'application/json']);

在刀片中,您需要使用json_encode

{!! json_encode($users) !!}