我想为last.fm创建一个客户端。我的音乐“电台”提要以JSON格式在这里:http : //www.last.fm/player/station/user/skeftomai/mix。
但是,当我尝试通过访问此文件时$.getJSON()
,我得到了
所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://my.exampledomain.com ”。
因此很遗憾,last.fm的结尾处有CORS问题。我想解决这个问题。这是我尝试过的一些方法:
<script>
标签,指向供稿链接。不幸的$('#scriptTagId').html()
是空着。我相当确定我可以摆脱Web代理的困扰,客户端可以利用服务器大小的代理来检索提要...但是我确实非常希望这是一个没有服务器端的纯客户端应用程序。我想将其托管在CDN(S3 + Cloudfront)上。
有没有办法解决?
不,仅使用浏览器无法解决您的要求。如果第三方网站不支持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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句