Access-Control-Allow-Origin(iTunes API)不允许使用原始http:// localhost

时间:2014-05-25 10:43:13

标签: jquery ajax get itunes

我正在使用iTunes Api来获得一首歌的30秒预览。

但是我收到了这个错误:

[Error] XMLHttpRequest cannot load https://itunes.apple.com/search?term=Dare&limit=1&entity=song&media=music. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

如果你去https://itunes.apple.com/search?term=Dare&limit=1&entity=song&media=music,你可以看到一切正常。 这是我的代码:

function build_player(image)
{
    $.get("https://itunes.apple.com/search", {term: "Dare", limit: 1, entity: "song", media: "music"}, function(result) {
        $(image).parent().append('<audio src="'+result.results[0].previewUrl+'" controls>Il tuo browser non supporta i file audio.</audio>');
    });
}

该函数附加到图像的onLoad事件,如下所示:

    <li>
        <img src="image.jpg" onload="build_player(this);" />
    </li>

1 个答案:

答案 0 :(得分:0)

XMLHttpRequest无法从运行脚本的服务器以外的服务器请求资源。如果您查看documentation,就可以看到(在大表上方)您必须将网址放入<script>标记中,并带有callback参数,该参数是脚本标记完成加载时将调用的JS函数。