Ajax请求WebService跨域问题

Posted

tags:

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

1、背景

  用Jquery中Ajax方式在asp.net开发环境中WebService接口的调用

2、出现的问题

技术分享

原因分析:浏览器同源策略的影响(javascript或Cookie只能访问同域下的内容);

3、解决方案:

(1) JSONP:只支持GET方式

(2) CROS:跨域资源共享

以下为CROS解决方案:

  a.在WebService接口加上响应头信息:

技术分享

  b.在web.config文件中加上相关配置节信息:

  技术分享

运用a或者b的解决方案后,浏览器头信息中变动如下:

  技术分享

最终问题得以较好的解决,但对于此方案各个浏览器支持情况不同,附图如下:

 技术分享

4、其他参考文章

(1)  http://www.cnblogs.com/Darren_code/p/cors.html

(2)  http://blog.csdn.net/liyifei21/article/details/17509735

(3)  http://www.cnblogs.com/yuzhongwusan/p/3677955.html

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

ajax跨域请求调用webservice接口

Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题

AngularJS:允许跨域 AJAX 请求

通过服务器端设置解决前端AJAX请求跨域访问WebServie(C#开发,IIS发布)

解决apiWebService跨域问题

如何解决 Ajax 跨域请求不到的问题