WCF ajax跨域配置

Posted 晓风.NET

tags:

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

webconfig必须配置 binding="webHttpBinding"

<service name="Hezi.MsgService.Send">
        <endpoint address="" behaviorConfiguration="Hezi.MsgService.SendAspNetAjaxBehavior"
          binding="webHttpBinding" contract="Hezi.MsgService.Send" />
      </service>

 跨域 需要在<system.webServer>中添加<add name="Access-Control-Allow-Origin" value="*" />

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。
        在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。
      -->
    <directoryBrowse enabled="true"/>
    <httpProtocol>

      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>

    </httpProtocol>
  </system.webServer>

 返回的数据

{"d":{"__type":"SendMsgModel:#Hezi.Model","msg":"发送成功","ret":0}}
全都封装了一层"d":前台获取时需要注意

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

如何避免 jquery ajax 中使用 wcf 服务的跨域策略?

WCF配置问题(配置WCF跨域)

跨域 jQuery Ajax 请求和 WCF REST 服务

具有跨域 Ajax 的 WCF Web 服务不起作用

经过身份验证的服务不支持跨域 javascript 回调。通过 SSL 代理对 WCF 服务的 AJAX 查询

我们可以在跨域中使用 Jquery $.ajax() 调用通过 https 访问 WCF 服务吗?