Gal*_*axy 3 ajax jquery tumblr
我正在尝试深入研究Tumblr阴暗世界的深度,并且无法理解如何克服以下错误:
Uncaught SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)
我相信这可能是因为我回来了json,但试图使用jsonp.这是我要发送的内容:
$(function(){
$.ajax({
type: "GET",
url : "http://api.tumblr.com/v2/blog/MyTumblrName.tumblr.com/info",
dataType: "jsonp",
data: {
api_key : "MyTumblrApi"
},
success: function(data){
console.log(data);
},
});
});
Run Code Online (Sandbox Code Playgroud)
我得到200 OK响应,但数据仍然是上面的错误(我不明白,想了解更多)
Tumblr也特别指出以下内容,但我不清楚具体细节.
使用HTTP GET进行的所有请求都支持JSONP.要使用JSONP,请将jsonp =和回调函数的名称附加到请求中.JSONP请求将始终返回HTTP状态代码200,但将反映JSON响应的元字段中的实际状态代码.
任何帮助都会很棒,谢谢!
执行Tumblr告诉您的操作 - 在请求中添加回调函数名称
myJsonpCallback = function(data)
{
console.log(data);
}
$.ajax({
type: "GET",
url : "http://api.tumblr.com/v2/blog/MyTumblrName.tumblr.com/info",
dataType: "jsonp",
data: {
api_key : "MyTumblrApi",
jsonp : "myJsonpCallback"
}
});
Run Code Online (Sandbox Code Playgroud)
================================================== ======
编辑:console.log的事情是一个语法错误,因为我没有实际测试此代码.
成功会发生什么?我真的不知道.尝试找出:)它可能会被调用,但数据参数可能是null或其他东西.这里的问题是jQuery命名它的回调参数callback,就像Tumblr所期望的那样jsonp.在200响应时,jQuery可能只是eval()响应,这 myJsonpCallback就是实际调用的原因.