如何使用跨域json数据?

时间:2014-01-31 23:34:33

标签: javascript json cross-domain jsonp

我希望访问此json列表:http://www.westwing.de/campaign/top/?limit=5&bp=1&json=1 并在我的页面上将其转换为可用的HTML。有一个问题,我的网站运行的服务器是测试服务器,并且没有相同的域名(westwing.de)。

我读到你可以将它作为脚本标签插入文档的头部并使用JSONP,但是当我这样做并在chrome中打开脚本时它会返回网站的主页,而不是json列表。

我无法访问服务器,因此无法更改设置等。

有人能指出我这方面的好例子或向我解释一下吗?

1 个答案:

答案 0 :(得分:1)

  1. 你不能做x-domain JSON,除非服务器支持CORS(这个没有)。

  2. 可以执行x-domain JSONP,但这需要服务器(您没有)的合作,因为服务器需要返回JSONP响应,而不是普通的JSON。见Can anyone explain what JSONP is, in layman terms?

  3. 如果测试服务器在*.westwing.de上,您可以在客户端上设置document.domain = "westwing.de",这将允许您正常发出JSON请求(因为页面将在同一页面上)域)。

  4. 如果以上情况不适用,您最好的选择是在测试服务器上编写自己的页面,该服务器充当测试域和westwing.de之间的代理(因为您的服务器端代码不会受SOP)限制。