Jquery ajax访问asp.net web api跨域问题解决方案
深山老妖浏览:14692018-12-18 10:02:07本文累计收益:0我也要赚钱

Jquery ajax默认访问asp.net web api如果访问接口地址存在跨域问题(比如www.aaa.com网站需要调用www.bbb.com服务器接口,两个程序不在同一服务器)是不能直接调用接口的,需要进行相应配置,当然配置方法有多种,本文只说笔者测试并可以使用的其中一种方法。

解决方法:

1、在接口项目配置文件web.config文件中添加如下代码

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
      </customHeaders>
    </httpProtocol>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

  </system.webServer>

2、在接口所在Controller中增加如下方法

        public string Options()
        {
            return null; // HTTP 200 response with empty body
        }

配置完以上两个步骤的内容就可以跨域调用了。

评论列表
发表评论
+ 关注