Ker*_*ter 7 php cors laravel laravel-5
XMLHttpRequest无法加载http:// myapi / api / rating。对预检请求的响应未通过访问控制检查:请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问源' http:// localhost:8104 '。响应的HTTP状态码为403。
我不知道为什么我不能提出CORS请求。我已经在此处安装了中间件,并将其添加到了全局http内核中,但是仍然无法正常工作。尝试创建给定stackoverflow建议的自定义中间件,但这也行不通。还尝试添加路由组。最后,我尝试在请求操作中手动设置响应头。我真的很困-感谢您的帮助!
参见代码:https : //gist.github.com/KerryRitter/0d7ababb7b9eb8d54f0ae55add9704a1
Rah*_*rve 16
如果您使用Laravel 5.5&Laravel 5.x并遇到类似的问题No 'Access-Control-Allow-Origin' header is present on the requested resource。只需使用以下软件包并配置您的系统即可。
步骤1:
composer require barryvdh/laravel-cors
Run Code Online (Sandbox Code Playgroud)
第2步
您还需要添加Cors\ServiceProvider到您的config/app.php提供者数组:
Barryvdh\Cors\ServiceProvider::class,
Run Code Online (Sandbox Code Playgroud)
要允许CORS所有路线,请HandleCors在class $middleware属性中添加中间件app/Http/Kernel.php:
供全球使用:
protected $middleware = [
// ...
\Barryvdh\Cors\HandleCors::class,
];
Run Code Online (Sandbox Code Playgroud)
对于中间件使用:
protected $middlewareGroups = [
'web' => [
// ...
],
'api' => [
// ...
\Barryvdh\Cors\HandleCors::class,
],
];
Run Code Online (Sandbox Code Playgroud)
第三步
安装完成后,请运行以下命令来发布供应商文件。
php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
Run Code Online (Sandbox Code Playgroud)
希望这个答案能帮助面临与我自己同样问题的人。
Anu*_*ari 15
由于安全问题,Laravel 默认限制跨域请求。我们需要创建一个 Cors 中间件来接受来自不同来源的请求。
第 1 步:创建 Cors 中间件。
php artisan make:middleware Cors
Run Code Online (Sandbox Code Playgroud)
第 2 步:在返回前在 handle 函数中添加以下几行。
//header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Origin: http://localhost:4200');
header('Access-Control-Allow-Headers: Content-Type, X-Auth-Token, Authorization, Origin');
header('Access-Control-Allow-Methods: POST, PUT');
Run Code Online (Sandbox Code Playgroud)
第三步:在 app/Http/Kernel.php 文件中注册中间件。
Add below line in $middleware array
\App\Http\Middleware\Cors::class,
Run Code Online (Sandbox Code Playgroud)
第 4 步:现在我们必须调用 app/Http/Kernel.php 文件中的中间件
Add below line in $routeMiddleware array
'cors' => \App\Http\Middleware\Cors::class,
Run Code Online (Sandbox Code Playgroud)
小智 5
https://github.com/barryvdh/laravel-cors
laravel-cors软件包使您可以使用Laravel中间件配置发送跨域资源共享标头。
特征
处理CORS飞行前OPTIONS请求将CORS标头添加到您的响应中
| 归档时间: |
|
| 查看次数: |
23949 次 |
| 最近记录: |