如何将数据从 laravel 控制器发送到 vuejs

Posted

技术标签:

【中文标题】如何将数据从 laravel 控制器发送到 vuejs【英文标题】:How to send data from laravel controller to vuejs 【发布时间】:2019-11-28 15:12:43 【问题描述】:

如何将数据从 Laravel 控制器发送到 vue?我已经设置了我认为它可能工作的方式,但没有发送数据。我做错了什么? 控制器(设置在单独的 API 文件夹中):

public function index()
    
        return User::all();
    

来自 api.php 的路由:

Route::apiResources([
    'user' => 'API\UsersController'
]);

组件代码:

<template>
    <div>
        <v-toolbar flat color="white">
            <v-toolbar-title>Users</v-toolbar-title>
        </v-toolbar>
        <ol v-for="user in users">
            <li>Name:  user.name </li>
        </ol>
        <v-data-table
            :headers="headers"
            :items="users"
            :items-per-page="5"
            class="elevation-1"
            flat
        >
        </v-data-table>
    </div>
</template>

<script>
    import AxiosInstance as axios from "axios";

    export default 
        data () 
            return 
                headers: [
                    
                        text: 'Username',
                        align: 'left',
                        value: 'username',
                    ,
                     text: 'Name', value: 'name' ,
                     text: 'Surname', value: 'surname' ,
                     text: 'Email', value: 'email' ,

                ],
                users: [],
            
        ,
        methods: 
            loadUsers()
                axios.get('./api/user').then(response => this.users = response.data);
            
        ,
        mounted() 
            this.loadUsers();
        
    
</script>

我只是在上面放了一个简单的列表来测试数组,但它只是空白。

【问题讨论】:

你需要使用websocket。见this 你是从 vue js 指向那条路线的吗?将简单的dd() 添加到您的index() 如果您没有从dd() 获取数据,您可能需要使用集合 在网络标签中调用了什么url? 【参考方案1】:

替换这个

 axios.get('./api/user').then(response => this.users = response.data);

有了这个

  axios.get("api/user").then((data) => (this.users = data));

【讨论】:

以上是关于如何将数据从 laravel 控制器发送到 vuejs的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ajax将数据从视图发送到控制器laravel?

如何使用 axios 将数组从 javascript 传递到 laravel 控制器

如何将分页数据和数组从控制器 laravel 传递到 vue 组件?

如何将数据从ajax get方法发送到laravel中的控制器?

Laravel:如何将值从控制器发送到模型?

如何将数组从 Laravel Blade 传递到 Laravel 6/Vue 2.6 中的 Vue 组件。*