跨域,但服务器数据不是 JSON 格式 [关闭]
Posted
技术标签:
【中文标题】跨域,但服务器数据不是 JSON 格式 [关闭]【英文标题】:Cross domain, but server data not of JSON format [closed] 【发布时间】:2013-02-20 09:36:54 【问题描述】:Hej,我想从远程服务器访问 Web 服务,但存在跨域问题。我尝试了 JSON,因为它在另一个脚本中工作,但这次它生成了“SyntaxError”,然后我发现服务上的数据不是 JSON 格式。
所以现在我在考虑两种方法。首先,将格式更改为JSON;其次,我读过一些建议php Web Proxy 的文章。但是似乎两种方式都需要服务端的一些代码,任何方法只涉及客户端的编码?对于第一种方式,如何将内容格式化为 JSON?
【问题讨论】:
-1 SO 不能替代basic research。 php.net/manual/en/function.json-encode.php @Sazzad Hossain Khan,感谢您的帮助,所以这是关于服务器端的编码?有没有办法只在客户端编程来解决这个问题? 【参考方案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).')';
【讨论】:
以上是关于跨域,但服务器数据不是 JSON 格式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
说说JSON和JSONP,浅析JSONP解决AJAX跨域问题