从 vue 文件调用 laravel 控制器

Posted

技术标签:

【中文标题】从 vue 文件调用 laravel 控制器【英文标题】:Call laravel controller from vue file 【发布时间】:2021-11-04 21:54:42 【问题描述】:

我在 vue 文件中创建了一个组件,我想从 laravel 控制器函数中获取数据。 目前,我已经使用 axios 来获取数据。但是我可以直接调用 laravel 控制器函数吗? 提前致谢。

【问题讨论】:

你做得对。从 Blade 或 vue 直接调用控制器不是一个好习惯。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

,与您的 laravel 应用程序通信的唯一方式是您的 网络服务。 (例如:REST API)

因为 LaravelVuejs 是完全分开的。 虽然在使用 Web 服务时,您会有不同的方法。

【讨论】:

【参考方案2】:
    从 Laravel/Lumen 应用程序公开路线 使用任何http客户端(axios)从vue调用路由或url

注意:您不能直接从 Vue CLI 调用 Laravel 应用程序上的控制器方法

【讨论】:

【参考方案3】:

您需要执行几个步骤。

在vue js文件脚本区

const url = `https://www.naveedramzan.com/api/getData/users/4`;
Axios.defaults.headers.common['Authorization'] = `Bearer $params.token`; // if you are using some token authentication
Axios.get(url,params: params)
     .then((response) => 
         res(response.data);
     )
     .catch((err) => 
         rej(err);
     );

在laravel中,routes/api.php文件

Route::post('getData/users', 'UsersController@getData');

在laravel中,控制器文件

use Illuminate\Http\Request;


public function getData(Request $request)
    ....

【讨论】:

以上是关于从 vue 文件调用 laravel 控制器的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 Vue.js(Axios 帖子)从 Laravel 后端下载文件(pdf)

从控制器调用外部 API 函数,LARAVEL 4

在 vue 模板中使用从 laravel 控制器返回的对象

从 laravel 控制器返回验证错误到 vue

如何正确地将数据从 vue 组件发布到 laravel 控制器

laravel,从输入到控制器功能的ajax调用500错误