javascript代码实例教程-Ajax JSON 跨域请求 服务(WebApi,WCF或者其他)

发布时间:2019-01-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-Ajax JSON 跨域请求 服务(WebApi,WCF或者其他)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 程式在 单台IIS下工作正常,换到域名下(负载均衡)就开开各种跨域了。研究了下,只要是符合以下条件的,基本上可以通用一种解决方案

 

条件是:

 

  1. HTTP方法:GET,Head,POST之外的方法

 

  2. 使用POST方法,而且使用application/x-www-form-urlencoded, multipart/form-data, or text/plain 之外的 Content-tyPE,例如:以 POST 发送XML、JSON

 

  3. 使用自定义头

 

解决方案:

 

  移除 IIS下的OPTIONSVerbHandler Handle Mapping,

 

  或者 在Webconfig 种 添加:

 

 

 <System.webServer>

<handlers>

      <remove name="OPTIONSVerbHandler" />

      <!-- 略 -->

    </handlers>

  </system.webServer>

  再或者 直接拦截OptionS请求,

 

 

if (request.Method.Method==HttpMethod.Options.Method)

                {

                    return base.SendAsync(request, cancellationToken).ContinueWITh(

                        task => { return request.CreateResponse(HttpstatusCode.OK); }

                            );

                }

 究其原因AJAX请求时,总会先发送一个OptionS,接着才发正常的请求。而IIS默认对Options的直接拦截,不做处理,直接返回,但是未包含 Access-Control-Allow-Origin Header,所以请求失败,就没有第二次正常的请求了。

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-Ajax JSON 跨域请求 服务(WebApi,WCF或者其他)全部内容,希望文章能够帮你解决javascript代码实例教程-Ajax JSON 跨域请求 服务(WebApi,WCF或者其他)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。