我正在尝试从本地主机环境中的天气API中提取数据,并且出现405错误(不允许使用方法),以及“已被CORS策略阻止:对预检请求的响应未通过访问控制检查:它没有HTTP正常状态。”我已经配置了标头,无法弄清楚我在做什么错。它可以在现场正常运行,但显然这不是一种方便的方法。
我尝试使用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});
}
答案 0 :(得分:0)
希望在下面的软件包中添加内容会有所帮助
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"