axios 跨域问题

来源:3-13 【异步处理】获取网络API数据

慕函数4298367

2021-03-25

老师,你的另一个课程《.Net Core 开发电商后端API 从0到精通吃透RESTful》部署docker上,后我用axios访问一直提示 “has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is”的错误,后来在后端项目 startup 的 ConfigureServices 和Configure加入了

 services.AddCors(options =>
            {
                options.AddDefaultPolicy(builder =>
                {
                    builder.AllowAnyOrigin();
                    
                });
            });



 app.UseCors();

后可以访问了,我想问一下,除了后端的方式处理外,前端能处理么,可以的话怎么处理呢?

写回答

1回答

阿莱克斯刘

2021-03-27

首先,谢谢你这么捧场,两门课都选了。至于你的改动没有问题,JavaScript处理跨域问题唯一的可行(稳定)方案就是后端调整。可能你也会找到一些文章推荐使用jsonp,但是jsonp只能处理get请求,因为跨域的post请求是禁止的。不过,如果你的客户端使用的不是javascript,而是c#或者java,那你是可以无视跨域问题的。


而.net课程的代码库中附赠了前端的代码,前端的readme文件详细描述了如何解决跨域问题。你可以对比一下。


1
0

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程