为什么iTunes API访问通过JQuery而不是XMLHttpRequest对象?

时间:2017-03-15 03:06:26

标签: javascript ajax

我可以使用JQuery访问itunes API。以下工作完美,没有服务器。

$(function(){

    var apiURL = "https://itunes.apple.com/search?term=funk&media=music&callback=?";

    $.getJSON(apiURL,function(data){
        console.log(data);
    });
});

我想使用常规XMLHttpRequest对象访问它。我很好奇如何让它发挥作用。

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://itunes.apple.com/search term=funk&media=music&callback=?');
xhr.send();

1 个答案:

答案 0 :(得分:1)

由于您的网址在查询字符串中有回调,因此getJSON使用jsonp。 http://api.jquery.com/jquery.getjson/#jsonp

这会通过脚本标记而不是通过XHR加载数据。 JSONP是使特定资源跨域加载的唯一方法,因为Access-Control-Allow-Origin未设置。