ASP.Net MVC中设置允许跨域
ASP.Net MVC中设置允许跨域,设置Access-Control-Allow-Origin - 最简单的方法
1. web.config 设置
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
</system.webServer>
2. MVC控制器
创建一个新的属性
public class AllowCrossSiteJsonAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*"); base.OnActionExecuting(filterContext); } }
[AllowCrossSiteJson] public ActionResult YourMethod() { return Json("Works better?"); }
对于ASP.NET Web API
using System;
using System.Web.Http.Filters;
public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (actionExecutedContext.Response != null)
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
base.OnActionExecuted(actionExecutedContext);
}
}
标记整个API控制器:
[AllowCrossSiteJson]
public class ValuesController : ApiController
{
或个别API调用:
[AllowCrossSiteJson]
public IEnumerable<PartViewModel> Get()
{
...
}
转自:https://cloud.tencent.com/developer/ask/28318
浙公网安备 33010602011771号