解决 Laravel 5.8 前后端分离跨域问题

现在很多项目采用前后端分离,之前我参与过前后端分离的项目,经常要解决的就是跨域问题,之前处理都很顺利,一般情况下安装如下两个扩展包:

安装其中任何一个都能解决问题。但是最近使用 Laravel 5.8 的时候出现问题,安装上面扩展并不能解决问题,
barryvdh/laravel-cors 上早就有人报出问题了。

image.png

报错情况一般是这样的,前端明明发送 GET 或者 POST 请求,但是看到发送的却是 OPTIONS 请求,如图:

image.png

在控制台看到的报错信息如下:

image.png

出现这种情况是因为浏览器跨域请求的原因,解决方案这篇文章能找到 Laravel解决预请求和跨域的问题

最后结论:

  1. 中间件需要全局注册
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

前端如果是用了基于 webpack 的架构,跨域可以由前端自己完成,利用 http-proxy-middleware 配置 proxyTable 即可

6年前 评论

@Hachiko 你说的是用代理解决跨域,本地开发是可行的,但是我不确定发布线上后是否还能使用代理解决跨域。

6年前 评论
pingfan 5年前

@sevdot 此种方案适合前后端分开开发,发布以后合并在一起的项目

6年前 评论
游离不2

还是nginx配置比较靠谱。

6年前 评论

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