我想为last.fm创建一个客户端。我的音乐“电台”Feed在这里,采用JSON格式:http://www.last.fm/player/station/user/skeftomai/mix。
但是,当我尝试通过$.getJSON()
访问此内容时,我会
请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“http://my.exampledomain.com”访问。
很遗憾,我们在last.fm结束时遇到了CORS问题。我想解决这个问题。以下是我尝试过的一些事情:
<script>
代码,其中src指向Feed link。很遗憾,$('#scriptTagId').html()
是空的。我很确定我可以使用Web代理,客户端利用服务器大小的代理来检索提要...但我真的,真的希望这是一个没有服务器的纯客户端应用程序-侧。我想在CDN(S3 + Cloudfront)上主持这个。
有没有办法解决这个问题?
答案 0 :(得分:2)
不,你所要求的是单独使用浏览器无法解决的问题。如果第三方网站不支持CORS或JSONP,除非您控制第三方网站或使用您自己的服务器(或任何第三方代理,如YQL)获取,否则您将无法使用选项数据。
这是YQL:
$.getJSON('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D\'http%3A%2F%2Fwww.last.fm%2Fplayer%2Fstation%2Fuser%2Fskeftomai%2Fmix\'&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=?', function (response) {
console.log(response.query.results.json);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;