我正在尝试使用以下代码向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?
答案 0 :(得分:2)
尝试添加你的ajax调用项目
jsonp:true,
在jsonpCallback之前或之后的行上 还要确保你的网址附加了'& callback = jsonpCallback'。
我正在查看一些有效的旧代码,这些是我看到的唯一区别