C# Web API .NET 4.5.1 跨域访问报错:'Access-Control-Allow-Origin' 多值问题修复
这个错误是因为服务器返回的响应头中包含了多个相同的'Access-Control-Allow-Origin'值,而CORS规定响应头中只能包含一个'Access-Control-Allow-Origin'值。因此,需要在Web API的响应头中设置'Access-Control-Allow-Origin'值,并确保只有一个值。可以在Web API的Global.asax.cs文件中添加以下代码来设置'Access-Control-Allow-Origin'值:
protected void Application_BeginRequest()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "https://a.com");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
这里的'Access-Control-Allow-Origin'值为https://a.com,可以根据实际情况进行修改。此外,还设置了'Access-Control-Allow-Methods'和'Access-Control-Allow-Headers'值,以允许GET和POST请求,并允许Content-Type和Accept请求头。最后,还设置了'Access-Control-Max-Age'值,以缓存CORS响应的有效期。
原文地址: https://www.cveoy.top/t/topic/mwMt 著作权归作者所有。请勿转载和采集!