所以我有一个简单的 getJSON() 函数:
$.getJSON(apiURL, function(data) {
console.log('success');
if (data.results.length > 0) {
$(song).find('source').attr('src', data.results[0].previewUrl);
song.play();
}
else {
console.log('No match found for track information specified.');
}
});
apiURL 是一个 iTunes API url,定义如下:
var apiURL =" https://itunes.apple.com/search" +
"?term=" + artist + "+" + album + "+" + title +·
"&media=music&entity=musicTrack&callback=?";
我得到经典的 Origin localhost is not allowed by Access-Control-Allow-Origin 错误。我已经为此挖掘了一些答案,它们通常归结为使用 $.ajax 并将 dataType 设置为“jsonp”,或者使用 .getJSON 并提供“callback=?” URL 的参数,我在上面尝试过。这些似乎都不起作用,我听说它们可能已经过时了。处理此问题的最新建议是什么?除了收集服务器上的数据。