2012-08-25 37 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