1、在nuget添加using Microsoft.AspNetCore.Cors;
2、打开Startup.cs文件,在ConfigureServices 中配置跨域
services.AddCors(options =>
{
options.AddPolicy("any", builder =>
{
//builder.WithOrigins("http://a.example.com", "http://c.example.com")
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});
//"http://a.example.com", "http://c.example.com" 代表着允许访问的域,就好像给这个域开放了一个权限,允许访问的权限,可以写多个逗号分隔
//AllowAnyMethod允许跨域策略允许所有的方法:GET/POST/PUT/DELETE 等方法 如果进行限制需要 AllowAnyMethod("GET","POST") 这样来进行访问方法的限制
//AllowAnyHeader允许任何的Header头部标题 有关头部标题如果不设置就不会进行限制
//AllowAnyOrigin 允许任何来源
//AllowCredentials 设置凭据来源
3、在Configure中是最全局配置,配置后所有的Controller都支持,
//配置Cors
app.UseCors("any");
4、在action配置action生效,在控制器中配置控制器生效
//action
[EnableCors("any")]//启用跨域
public Object getMultipleOrderDetail(string OrderNO, int OrderNoType, string BranchID)
{
return vM.getMultipleOrderDetail(OrderNO, OrderNoType, BranchID);
}
//控制器
[EnableCors("any")]//跨域
[Route("api/[controller]")]
[ApiController]
public class SenSmsController : ControllerBase
{
5、前端在通过ajax调接口的时候需要配置