Javascript 对TinySong的JSONP请求总是失败
我试图用以下代码向TinySongAPI发送JSONP请求Javascript 对TinySong的JSONP请求总是失败,javascript,jquery,html,jsonp,Javascript,Jquery,Html,Jsonp,我试图用以下代码向TinySongAPI发送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+'&call
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吗?尝试在ajax调用中添加该项
jsonp:true,
在jsonpCallback之前或之后联机
还要确保您的url附加了“&callback=jsonpCallback”
我在看我的一些老代码,这些是我看到的唯一不同之处,所以你的建议有些奏效,我可以看到响应总是转到错误回调。即使是在错误回调中,我现在正在研究如何提取所需的数据。问题似乎是TinySong API没有启用JSONP。它以text/html而不是javascript的形式发回数据。此外,它忽略回调参数,因此从不在客户端调用success函数。