跨域,但服务器数据不是JSON格式


Cross domain, but server data not of JSON format

嘿,我想从远程服务器访问web服务,有一个跨域问题。我尝试了JSON,因为它在另一个脚本中工作,但这次它生成了"SyntaxError",然后我发现服务上的数据不是JSON格式。

所以现在我在考虑两种方法。首先,将格式更改为JSON;其次,我读过一些建议PHP Web代理的文章。但似乎这两种方法都需要在服务端编写一些代码,任何方法都只涉及在客户端编写代码吗?对于第一种方式,如何将内容格式化为JSON?

首先,您需要一台服务器来获取服务。有两种通用的请求和响应格式:XML或JSON格式。因此,无论何时需要服务,都将向服务器发送请求。如果服务器有请求的服务可用,那么服务器将响应您。我更喜欢JSONP。

对于与JSONP的跨域通信,您可以遵循:http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

和响应JSON格式,你可能需要返回:

$myReturnData = array("its"=>"an array","its"=>"an array");
  print $_GET['jsoncallback']. '('.json_encode($myReturnData, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE).')';