2011-03-30 59 views
3

我想从我的javascript调用Web服务。我读过关于这里如Javascript跨域POST/GET

Simplest SOAP example

一堆的职位,但职位,以webservicex.net例子(萤火虫xmlhttp.responseXML)返回null。在那里我感到困惑的是,所有这些库/代理/应用程序/等谈论与Web服务通信,但我没有看到JS或它似乎一切都在后端完成。

我想调用一个web服务并将所有内容都返回给js,这种看起来最合理的方式是使用代理服务器来发出请求,以便浏览器不会发生抱怨。

我是新来的网络服务器的世界,Apache的mod_proxy和/或代理服务器是非常模糊的我,文档说他们做了什么,但没有实现..有人可以提供一些链接,让我在正确的方向与一些例子或教程?

感谢

回答

1

根据不同的API,可以动态插入<script>标签插入到文档中,如:

<script src="http://www.otherdomain.com/list.php?category=23&order=2"></script> 

然后脚本可以发送回的结果在JS,如:

yourCallback([{'Stool', 12000}, {'Table', 4000}]); 

当然,您编写的yourCallback()函数将使用结果填充HTML文档。

当然,这取决于您使用的API。 如果它是公共API,它的接口被记录并且这个东西被隐藏。如果它不是公共API,您可能合法地从第三方网站访问他们的服务。

+0

我要去位于别处不同的机器上了一下后写的web服务,我认为这是推动技术,但我想直接跟我们的服务,而不是通过其他脚本;我想我读了mozilla支持脚本签名来信任脚本,但这会限制平台...... – Crushing 2011-03-31 19:04:18

+0

这不是以PHP为中心的。您可以将此模型与您的自定义服务一起使用。您的服务可以在端口上侦听,接受HTTP查询并生成JSON响应。它是跨域安全的。 – vbence 2011-03-31 19:48:34

1

如果可能的话,您可能想尝试使用JSONP来完成跨域AJAX请求。可以找到它与常规JSON请求的比较的快速细分here

1

您可以编写简单的PHP脚本(或任何您喜欢的脚本),它需要URL和POST/GET params,将它们提供给远程服务器并打印出javascript的结果。

因此,您可以调用非远程脚本来检索远程内容。