405 Ошибка & CORS при создании запроса API на локальном хосте - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь получить данные из API погоды в моей среде localhost, и я получаю сообщение об ошибке 405 (метод не разрешен), а также сообщение «заблокировано политикой CORS: ответ на запрос предварительной проверки не прошел проверка контроля доступа: у него нет статуса HTTP ok. " Я настроил свои заголовки и не могу понять, что я делаю неправильно. Он отлично работает в прямом эфире, но, очевидно, это не удобный способ сделать это.

Я пытался использовать axios.get, а также axios.post.

var config = {
    headers: {'Access-Control-Allow-Origin': '*'}
};
getWeather: function (){
    axios.get('http://api.openweathermap.org/data/2.5/forecast?id='+ city + '&appid='+ apiKey, config).then((res) => {this.weather = res.data});
}

1 Ответ

0 голосов
/ 27 апреля 2019

Надеюсь, что добавление пакета ниже поможет

use this https://github.com/barryvdh/laravel-cors

Установка:

composer require barryvdh/laravel-cors

Поставщик услуг:

Добавьте это Barryvdh\Cors\ServiceProvider::class, в config/app.php

Чтобы разрешить CORS для всех ваших маршрутов , добавьте промежуточное ПО HandleCors в свойство $middleware объектаapp/Http/Kernel.php класс:

protected $middleware = [
 \Barryvdh\Cors\HandleCors::class,
 // ...
];

ПРИМЕЧАНИЕ: обязательно разместите его перед всеми промежуточными программами

Если это для определенного промежуточного ПО, в нашем случае это будет api

protected $middlewareGroups = [
'web' => [
   // ...
],

'api' => [
    \Barryvdh\Cors\HandleCors::class, 
    'throttle:60,1',
    'bindings',
],

];

ПРИМЕЧАНИЕ. Обязательно установите его перед всеми промежуточными программами

Опубликуйте конфигурацию:

php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...