跨域通信 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"