我在 vue 文件中创建了一个组件,我想从 laravel 控制器函数中获取数据。
目前,我已经使用axios来获取数据。但是我可以直接调用laravel控制器函数吗?
预先感谢。
不,与 Laravel 应用程序通信的唯一方式是您的 web 服务。 (例如:REST API)
因为Laravel和Vuejs是完全分开的。 虽然在使用网络服务时你会有不同的方法。
注意:您无法直接从 Vue CLI 调用 Laravel 应用程序上的控制器方法
您需要执行几个步骤。
在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){
....
}
使用这个包
作曲家需要 yudhees/laravel-vue-controller
通过安装此软件包,您可以在 vue 文件中访问 laravel 控制器,而无需编写任何单独的 api , 通过使用此包,您需要发送控制器路径和函数名称 如果函数需要任何参数,您也可以发送它。
了解更多详细信息访问此处