Jquery Ajax - Tumblr API v2

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响应的元字段中的实际状态代码.

任何帮助都会很棒,谢谢!

Ili*_*a G 7

执行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就是实际调用的原因.