[Vuejs]-Search engine laravel and vue.js without scout

0πŸ‘

βœ…

To get the keywords sent from axios inside the controller, you would need to use

  $keywords = $request->get('keywords');

In the code shared, you are looking for a request parameter named q. When you are entering the URL through the browser, you are entering the parameter with the name q. So the search works. I hope you are clear about the issue now.

So, assuming that you are handling the search method with eloquent, the controller action becomes:

public function search(Request $request)
{

    $error = ['error' => 'No results found, please try with different keywords.'];

    $keywords = $request->get('keywords')?? null;

    if ($keywords) {

         $users = User::search($keywords)->get();
        return $users->count() ? $users : $error;

    }

    return $error;

}

0πŸ‘

For send Request as ajax you must use X-CSRF-Token or disable (exception) validate this token for this url.

For API url validate token disabled.

Read more:
https://laravel.com/docs/5.6/csrf

Leave a comment