2012-08-25 36 views
0

我想發佈數據到外部網站,通過使用jQuery獲取json數據返回如何發佈數據到外部url並通過jquery獲取返回的json數據?

問題是我的響應函數不工作,所以如何解決它?

我的代碼示例

$.getJSON("http://externalweb.com/data.php?callback=?", 
    function(result) { 
     // this function is not work :(
     $("#result").html("test"); 
    } 
); 
+0

做谷歌搜索'AJAX跨域,policy'! – adeneo

+0

你是否有對服務器端的控制權,或者是否是某個第三方運行的Web服務等?服務器是否支持'CORS'?它支持'JSONP'嗎?它需要處理哪些瀏覽器?它需要在移動設備上工作嗎? – hippietrail

+1

這是一個使用PhoneGap開發的移動應用程序,我遵循教程,它的工作,但必須使用GET方法發送/接收數據,我想POST方法的工作。 –

回答

0

JSON不會從外部URL

支持讀取數據。然而,你可以使用JSONP。

這裏是另一個網絡作者(不是我)一個關於它的解釋:

http://www.jquery4u.com/json/jsonp-examples/

+0

這不再是真的。 Opera成爲支持['CORS'(跨源資源共享)](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)的主要瀏覽器的最後一個,儘管對於Internet Explorer,它僅在版本10中受支持。(8和9有一個叫做''XDomainRequest''(http://msdn.microsoft.com/en-us/library/cc288060.aspx)。)除了要求最新的瀏覽器版本,服務器端必須支持額外的HTTP標頭,通常是'Access-Control-Allow-Origin:*'。 – hippietrail

+0

@hippietrail假設OP有服務器端的控制權。 – vzwick

+0

@vzwick:'JSONP'也需要服務器端報告。我確實想在我的評論中提到這些,但是空間不足。我曾在上述問題的評論中詢問過OP。第三種選擇當然是使用自定義代理,或者是諸如'YQL'之類的公共代理。 – hippietrail