No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx' is therefore not allowed access
ASP.net Core 跨域有两种,全局和区域
全局跨域:
Startup.cs文件ConfigureServices方法中添加:
1.允许所有来源:
services.AddCors(options => options.AddPolicy("跨域策略名称", p => p.AllowAnyOrigin()) );
2.允许一个或多个具体来源:
services.AddCors(options => { options.AddPolicy("跨域策略名称", p => { //多个IP用","隔开 p.WithOrigins("http://localhost:xxx"); p.AllowAnyHeader() p.AllowAnyMethod() p.AllowCredentials(); }); });
Configure方法中添加以下代码
app.UseCors("跨域策略名称");
局部跨域,实现指定Controller或acttion跨域:
1.删去Configure中app.UseCors()
2.在Controller或Action上加特性[EnableCors("跨域策略名称")]
禁止跨域:
在Controller或者Action加上[DisableCors]特性