.net mvc webapi 解决前端跨域问题

跨域问题的原因不解释了,直接设置两步就可以解决前端跨域问题

1.Gloabel.asax文件中

 

        //解决跨域问题
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
                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();
            }
            else
            {
                HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST,PUT, DELETE");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type");
            }
        }

  

2. Web.config中

<system.webServer>

</system.webServer>

之间加入代码

<system.webServer>


    <!--解决跨域问题-->
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Max-Age" value="30"/>
        <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

  

网上的博客有的提及了一个, 结果设置之后都出现405或者其他跨域提示, 设置这两步便可实现.net 前端跨域,

posted @ 2017-09-05 17:42  贾梦阳1024  阅读(636)  评论(0编辑  收藏  举报