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

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

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

image.png

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

image.png

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

image.png

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

最后结论:

  1. 中间件需要全局注册
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4

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

5年前 评论

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

5年前 评论
yanthink 4年前

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

5年前 评论
游离不2

还是nginx配置比较靠谱。

5年前 评论

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