学海无涯

导航

跨域通信 CORS 跨域资源共享

当在前端项目的页面向后端的Web API 发送AJAX请求时,涉及“跨域通信”的问题。基于安全考虑、浏览器默认是禁止 AJAX跨域通信的。

CORS是浏览器中标准的跨域通信的方式,推荐使用。

CORS原理:在服务器的响应报文头中通过 access-control-allow-origin 告诉浏览器允许跨域访问的域名。

在服务端开启CORS:

Program.cs

//开启CORS 允许客户端跨域访问
string url = builder.Configuration.GetSection("ClieckUrl").Value;
string[] urls = new[] { url };//允许跨域访问后端接口的前端域名
builder.Services.AddCors(options=> options.AddDefaultPolicy(policy=>
policy.WithOrigins(urls).AllowAnyMethod().AllowAnyHeader().AllowCredentials()));

var app = builder.Build();
app.UseCors();//使用跨域 在app.UseHttpsRedirection();之前声明

appsetting.json

 "ClieckUrl":  "https://localhost:3000"

  

posted on 2022-10-02 15:42  宁静致远.  阅读(44)  评论(0编辑  收藏  举报