前后端分离跨域问题

Apache配置的前后端分离系统的跨域问题如何解决

JensonWang
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

apache 网站配置 header 头

Header set Access-Control-Allow-Origin *

或者安装 laravel-cors
github.com/barryvdh/laravel-cors

2年前 评论

Laravel 8 自带,配置下 cors.php 就可以。

2年前 评论
KayuHo

响应时设置一下相关的 header

2年前 评论

解决方案比较多 博客:跨域请求后端配置

laravel 中可建立中间件如名称 cors

<?php
namespace App\Http\Middleware;
use Closure;
class Cors
{
    public function handle($request, Closure $next) {
        $response = $next($request);
        $response->withHeaders([
            'Access-Control-Allow-Origin' => '*', //允许的域名
            'Access-Control-Allow-Methods'=> 'POST, GET',
            'Access-Control-Allow-Headers'=> '*',
        ]);
        return $response;
    }
}

App\Http\Kernel.php 注册

protected $routeMiddleware = [
  ...
 'cors'     => \App\Http\Middleware\Cors::class,
];

然后就可以在路由分组或单个路由中使用

protected $middlewareGroups = [
        'api' => [
            'throttle:60,1',
            'cors',
        ]
    ];
2年前 评论

看信息是跨域配置的返回头重复了,检查一下代码里面和服务器里面都配置了,去掉一个,建议去掉代码里面的

2年前 评论
circle

要么是 apache 要么是代码里的 response header 重复了,检查去掉重复的就好了

2年前 评论
随波逐流

个人推荐使用代理

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!