当我尝试加载用户JSON时,getJSON失败

时间:2017-08-20 11:31:44

标签: javascript jquery json facebook

我为facebook做了一个chrome扩展程序,供私人喜欢。我想要做的是,每当有人发布帖子,并且有人点击了我所包含的私人按钮。点击这个私人按钮,我想获得发布帖子的海报的JSON数据。现在我只是试图获得我自己的个人资料的JSON,但它没有返回任何东西。以下是代码!

var btn = "<button class=\"nadddim\" >Get JSON</button>";
var t = document.getElementsByClassName("_sg1 _3qd4");
t[0].insertAdjacentHTML('beforebegin', btn);



document.getElementsByClassName('nadddim')[0].addEventListener('click',function(){

var fbjson;

$.getJSON( "https://www.facebook.com/profile.php?id=100004774025067", function( data ) {
  fbjson = data;
});

console.log(fbjson);
});

基本上需要用户ID,从他的帖子,例如John发布的东西,每当我私下喜欢那篇文章时,我想得到John的JSON来提取他的id值!多数民众赞成我所需要的

1 个答案:

答案 0 :(得分:0)

您需要使用方法.done()来获取返回数据,因为getJSON调用是异步的,如下所示:

$.getJSON( "https://www.facebook.com/profile.php?id=100004774025067" ).
        .done(function( data ) {
            fbjson = data;
        })
        .fail(function() {
            console.log( "error" );
        })

此外,您可能想要检查使用fail()是否有任何错误,请参阅http://api.jquery.com/jquery.getjson/。要查看错误的内容,请检查jqXHR object(jQuery XMLHttpRequest),例如:

        .fail(function(jqxhr){
            console.log( "error" );
            console.log(jqxhr.responseText);
         })