前后端分离跨域问题

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

JensonWang
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 7

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

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',
        ]
    ];
1周前 评论

apache 网站配置 header 头

Header set Access-Control-Allow-Origin *

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

1周前 评论
小李世界

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

1周前 评论
KayuHo

响应时设置一下相关的 header

1周前 评论
circle

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

1周前 评论

个人推荐使用代理

1周前 评论

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

1周前 评论

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