在客户端js使用来自第三方的交叉源JSON?

时间:2014-01-01 14:53:08

标签: javascript xmlhttprequest client jsonp cors

虽然在我想确认我完全理解这个问题之前已经问过这个问题:

我有一个javascript浏览器客户端应用程序,将从mydomain.com加载。 我有第三方JSON资源,我想在我的应用程序中使用。

第三方资源位于不同的域(http://campbx.com/api/xticker.php)并返回纯JSON。它在我无法控制的服务器上。

根据我的理解,我不能使用JSONP,因为资源没有正确的JSONP回调支持(填充)。

我也不能使用CORS或普通的旧XMLHttpRequest,因为资源没有'Access-Control-Allow-Origin'标题。

所以关于主要问题...有没有办法在我的客户端应用程序中使用此资源而无需编写后端代理?我对我的选择是对的吗?我可以以某种方式使用JSONP作为回吐纯JSON的资源吗?

到目前为止,当我尝试在脚本标记中加载资源时,我遇到了“Uncaught SyntaxError:Unexpected token:”错误,当我尝试使用CORS时,出现“No Access-Control-Allow-Origin”标头错误。

2 个答案:

答案 0 :(得分:1)

您只能使用服务器端代理

您的理解是您不能使用JSONP或CORS是正确的。

答案 1 :(得分:1)

阐述我的评论

没有代理,你不能使用它。但是代理将是几行PHP

<?php 
header("Content-type:application/json");
echo file_get_contents('http://campbx.com/api/xticker.php');
?>