请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,请教跨域问题如何解决?

现在提示:Access to XMLHttpRequest at ‘http://127.0.0.1/api/login’ from origin ‘http://127.0.0.1:8080’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

这个跨域问题要怎么解决呢?谢谢

正在回答 回答被采纳积分+3

2回答

singwa 2020-01-22 14:10:15

有两个解决方案
第一 利用nginx加一层代理
第二 你api输出格式支持跨域格式输出,你了解下,有问题欢迎随时沟通

1 回复 有任何疑惑可以回复我~
  • 提问者 慕粉慕粉1888 #1
    老师我尝试了3种方法
    1. 在index.php添加以下代码无效:
    header('Access-Control-Allow-Origin:*');
            header('Access-Control-Allow-Methods:GET, POST, OPTIONS');
    2 在login controller 的index方法添加也无效
    3 在route里添加->allowCrossDomain() 可以解决,但是只能作用于这一个api,那么就需要给所有route都添加?有没有什么全局方法吗?麻烦老师指点下我没有找到
    谢谢
    回复 有任何疑惑可以回复我~ 2020-01-22 14:19:06
  • singwa 回复 提问者 慕粉慕粉1888 #2
    建议用老师说的nginx加代理,这个用的很实用。
    回复 有任何疑惑可以回复我~ 2020-01-22 15:30:20
  • 提问者 慕粉慕粉1888 回复 singwa #3
    好的 我试一下
    回复 有任何疑惑可以回复我~ 2020-01-22 15:32:47
仿佛说呢 2022-05-18 21:52:15

可以用中间件来处理,我的通过这个解决了

https://www.jianshu.com/p/02bffcbde45f


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信