Javascript - 在不同的子域上调用Web服务?

时间:2012-07-21 19:06:38

标签: javascript web-services

经过一些研究,我的理解是你无法在外部域的javascript中调用Web服务。
子域名怎么样? 我的网站位于http://example.com,我在http://services.example.com上有一些网络服务。

在这种情况下,我可以打电话给他们吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

通常,您无法在其他域(不同的域名或端口)中调用webservices。

但是,如果您控制Web服务,则无法使用JSONP进行包装。从技术上讲, 每次调用脚本都嵌入到页面中,wchich调用已在页面中定义的函数,将从webservice调用返回的数据传递给它。

大多数库都支持这种跨域通信,包括jQuery。

答案 1 :(得分:0)

这是可能的,但你需要做一些工作。 查看CORS规范,这里有一些链接:

http://www.w3.org/TR/cors/

https://developer.mozilla.org/en/http_access_control

特别寻找Access-Control-Allow-Origin。这就是你想要的方式。

答案 2 :(得分:0)

我发现在这些情况下(我可以控制两台服务器)有用的是发布到同一域上的文件,然后发布到其他域。