一、产生跨域问题的原因:同源策略
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域名的JavaScript脚本与另外一个域的内容进行交互。
协议、域名、端口号,只要有一个不相同,那么都是非同源
协议://域名:端口号/
http://localhost:8080/web
二、如何解决跨域问题
1.JSONP 通过浏览器标签去请求API,避开跨域问题,是通过浏览器的一些指定标签<img src><script src>等去跨域请求,获取到数据以后,可以通过一个回调函数来把数据进行解析,然后使用数据;
2.通过后台模拟HTTP请求 请求API
3.在服务器端指定允许跨域(加特性)
base.HttpContext.Response.Headers.Add("Access-Control-Allow-Origin","*");
4..NetCore内置中间件 Microsoft.AspNetCore.Cors