如何在MVC控制器中启用CORS。我尽力在每个平台(包括stackoverflow)上进行搜索,但是在每个位置都提供了有关Web Api CORS的信息,但没有MVC Controller的信息。
//Custom Attribute
public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
base.OnActionExecuting(filterContext);
}
}
//Controller
[AllowCrossSiteJson]
public ActionResult GetData()
{
return Json("Works better?");
}
但这也不起作用。我也尝试过通过WebConfig,但这也不起作用。
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
//Error
Access to XMLHttpRequest at 'http://localhost:59912/GetData/' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
有两个项目,一个用于UI,一个用于后端。
请帮助我。感谢您的帮助,并感谢。