从 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)
因为 Laravel 和 Vuejs 是完全分开的。 虽然在使用 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)