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

时间:2013-03-05 20:03:45

标签: php json ajax get cross-domain

Hej,我想从远程服务器访问Web服务,并且存在跨域问题。我试过JSON,因为它在另一个脚本中工作,但这次它生成了“SyntaxError”,然后我发现服务上的数据不是JSON格式。

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

1 个答案:

答案 0 :(得分:1)

首先,您需要服务器来获取服务。有两种通用的请求和响应格式: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).')';