是否可以使用Ajax直接访问第三方Web服务?大多数情况下,我已经看到我正在访问的网站在其服务器上处理它,然后将处理/未处理的数据传输到客户端浏览器。总是这样吗?
答案 0 :(得分:3)
(是的,几乎总是)
通常,当您尝试访问第三方Web服务时,proxy server用于访问这些服务。您无法访问外部第三方Web服务,因为它们存在于不同的域中,而您遇到了“Same Origin Policy”
现在....有方法可以执行cross-domain ajax,但是您正在访问的服务必须支持它(对于可以返回什么类型的数据以及由于这种方式格式化请求的方式存在限制跨域ajax工程)
答案 1 :(得分:1)
实现此目的的一种简单方法是使用某种服务器端代理来处理您的请求。它的工作原理如下。您对自己的域执行Ajax请求,比如proxy.php。 proxy.php处理您的请求,将其转发给第三方服务并返回结果。这样您就不会遇到跨域错误。您可以使用神奇的Google找到这些简单代理的多个示例。