Home > front end >  Call laravel controller from vue file
Call laravel controller from vue file

Time:09-18

I created a component in vue file and I want to fetch data from laravel controller function.
Currently, I have used axios to fetch data. But can I directly call laravel controller function?
Thanks in advance.

CodePudding user response:

No, the only way to communicate with your laravel app is your web service. ( Ex: REST Api )

Because Laravel and Vuejs are completely separated. Although in using web services you would have different methods.

CodePudding user response:

  1. Expose a route from Laravel/Lumen app
  2. Call the route or url from vue using any http client(axios)

N.B: You cann't call the controller method on Laravel app directly from your Vue CLI

CodePudding user response:

You need to do few steps.

in vue js file script area

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);
     });

In laravel, routes/api.php file

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

In laravel, the controller file

use Illuminate\Http\Request;


public function getData(Request $request){
    ....
}
  • Related