2011-03-30 91 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的結果。

因此,您可以調用非遠程腳本來檢索遠程內容。