WebApi跨域请求

Posted dragon.net

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApi跨域请求相关的知识,希望对你有一定的参考价值。

在实际开发中 会有提供webapi给前端js 直接调用的情况, 这时候就会有存在跨域的情况,

解决方案:

 

在Global中添加代码

   protected void Application_BeginRequest(object sender, EventArgs e)
        {
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "*");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "*");
                HttpContext.Current.Response.End();
            }
        }

 

在配置文件中加

      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
   <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
      <remove name="WebDav" /> 
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

 

就可以了

 

  $.ajax({
                url: ‘http://api.zxsj.com/api/Job?strName=liuyl‘,
                type: "get", 
                dataType: "json",
                data: {
                    //t: new Date().getDate(), 
                },
                async: true,
                success: function (res) {
                    $(".code").text(res.Code);
                    $(".mess").text(res.Message);
                }
            });

 

以上是关于WebApi跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

跨域 WebAPI 批量请求

web api 跨域请求,ajax跨域调用webapi

webapi 解决ajax跨域请求问题

WebApi 中开启跨域请求方式

WebAPI 请求跨域问题

WebApi跨域