Метод не разрешен при поиске API - PullRequest
0 голосов
/ 03 декабря 2018

Я использую Vue.js и Laravel в сочетании с Axios, чтобы создать фильтр поиска для моих записей.Когда я делаю запрос, я получаю следующую ошибку в моей консоли:

GET http://localhost:8000/api/quests/search/?keywords=test 405 (метод не разрешен)

Vue.js

export default {
    data() {
        return {
        quests: [],
        quest: {
            id: '',
            name: '',
            price: '',   
        }, 
            keywords: null,
        }
    },
    watch: {
        keywords(after, before) {
            this.fetchSearch();
        }
    },
    methods : {
       fetchSearch() {
             axios.get('/api/quests/search', { params: { keywords: this.keywords}}, {
                headers: {
                    'Content-Type': 'application/json',
                    'Accept': 'application/json'
                }
            })
            .then(res => console.log(res.data))
             // data empty 
            .catch(error => console.log(error));
      }
   } 

API-маршрут

Route::get('quests/search', 'CrudsController@search');

Контроллер

public function search(Request $request)
{
    $quests = Quest::where('name', 'like', $request->keywords)->get();
    return QuestResource::collection($quests); 
}

Сетевой ответ

Cache-Control: no-cache, private
Connection: close
Content-Type: application/json
Date: Mon, 03 Dec 2018 16:08:05 +0000
Date: Mon, 03 Dec 2018 16:08:05 GMT
Host: localhost:8000
X-Powered-By: PHP/7.2.10
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 03 декабря 2018

Возможно, вам не хватает токена csrf.

Попробуйте добавить его в свой заголовок

           headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json',
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }

Или вы можете альтернативно исключить этот маршрут, добавив его в массив $ exclude в промежуточном программном обеспечении csrf.

...