对TinySong的JSONP请求总是失败

时间:2014-01-31 00:18:44

标签: javascript jquery html jsonp

我正在尝试使用以下代码向tinysong api发送JSONP请求

var url = "http://tinysong.com/s/calvin+harris?format=json&limit=3&key=api_key"

function jsonpCallback(json) {
    console.log(json);
}

var script = document.createElement('script');
script.src = url+'&callback=jsonpCallback';
document.body.appendChild(script);

但继续在控制台中收到消息

Resource interpreted as Script but transferred with MIME type text/html: 

我也尝试了以下内容并得到了相同的错误

$.ajax({
    type: 'GET',
    url: url,
    jsonpCallback: 'jsonCallback',
    dataType: 'jsonp',
    success: function(json) {
        console.log(json);
    },
    error: function(e) {
        console.log(e.message);
    }
});

function jsonCallback(json) { 
    console.log(json); 
}

我确定api正在响应,因为我检查了chrome中的网络选项卡,可以看到来自API的响应。您对我能做什么有什么建议吗,或者我需要编写一个服务器端API来ping TinySong api?

1 个答案:

答案 0 :(得分:2)

尝试添加你的ajax调用项目

    jsonp:true,

在jsonpCallback之前或之后的行上 还要确保你的网址附加了'& callback = jsonpCallback'。

我正在查看一些有效的旧代码,这些是我看到的唯一区别