【问题标题】:Soap Ajax cross domain problemSoap Ajax 跨域问题
【发布时间】:2011-09-18 06:52:30
【问题描述】:

我正在尝试使用 ajax 访问另一台服务器上的 SOAP Web 服务,但出现访问控制允许来源错误。 Web 服务返回 XML,因此无法使用 JSONP,并且 Web 服务也在另一个应用程序中使用,因此修改可能是最后的选择。有什么解决办法吗?

【问题讨论】:

    标签: javascript ajax soap


    【解决方案1】:

    如果你不能做 JSONP,那么你的选择是:

    1. 在页面的域中创建一个服务器代理,该代理可以从其他域获取所需的结果并将其从允许的域中继给您。
    2. 如果您愿意将浏览器支持限制为某些现代浏览器,那么您可以研究跨域资源共享 (CORS),这是一种“更安全”的跨域请求方式。你可以阅读它here
    3. 通过 Flash 的跨域 ajax 支持需要在您要访问的服务器的主机上放置适当的跨域策略文件。有关更多信息,请参阅 herehere

    【讨论】:

      【解决方案2】:

      您可以在页面的域中设置服务器代理。 然后,该页面将调用soap web 服务并返回响应。 然后可以从 ui 中通过 ajax 调用此页面。

      【讨论】:

        【解决方案3】:

        发现使用 Ajaxpro 2 可能是最简单的方法,当然它适用于 .NET。 http://www.ajaxpro.info/

        否则,jfriend00 的建议是次佳选择。

        【讨论】: