这里说的跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。 默认浏览器是不支持直接跨域访问的。但是由于种种原因我们又不得不进行跨域访问,比如当前后端分离的方式开发程序是跨域是不可避免的。 而解决跨域的方式也比较简单: 1、通过jsonp跨域 2、通过修改document.domain来跨子域 3、添加对服务端进行改造使其支持跨域。 接下来说说怎么实现asp.net core webapi的跨域(Cors)访问。 首先你得有个webapi的项目,并添加Microsoft.AspNetCore.Cors的包,然后在Startup中的ConfigureServices下配置新增如下代码:
#region 跨域
var urls = Configuration["AppConfig:Cores"].Split(',');
services.AddCors(options =>
options.AddPolicy("AllowSameDomain",
builder => builder.WithOrigins(urls).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials())
);
#endregion
这样asp.net core webapi就支持了跨域且支持co