IE没有来自/ me / friends的response.data

时间:2012-07-05 11:20:36

标签: jquery facebook each

我不确定我是否要询问jQuery或Facebook,但是: 我当前的网站Social Promo允许用户邀请他们的朋友加入赞助。所以我使用下面的代码,它工作正常......除了在IE上。

function load_friends() {
    if($('#fb_friendbox').is(':empty')) {
        FB.api('/me/friends', function(response) {
            $.each(response.data, function(index,friend) {
                var nextFriend = '<div class="fb_friend" onclick="resend_invite('+friend.id+');return false;"><div class="fb_picture"><img src="https://graph.facebook.com/'+ friend.id +'/picture" /></div><div class="fb_name"><span>'+ friend.name +'</span></div></div>';
                $('#fb_friendbox').append(nextFriend);
            });
            $('.ajax-load').css('display','none');
        });
    }
}

IE的js控制台告诉我(来自法语)Can't get value of 'length', object is null or undefined。因为我不经常使用IE(据我所知,我不能使用console.log或调试),我只是尝试了一些alert()并看到:

  • response是一个对象
  • response.data未定义(其他浏览器,如Chrome,会返回一个对象列表)
  • $.each
  • 之前,代码流可以正常运行

所以最后,IE不加载当前用户的朋友列表,我不知道是什么。我错过了IE需要的功能而不是其他浏览器吗?

2 个答案:

答案 0 :(得分:0)

下注表示已设置response.error,并告诉您没有使用有效的访问令牌。

而且,我也很确定,再次源于古老的第三方cookie 问题......

答案 1 :(得分:0)

Annnd ......关闭。我的问题解决了,事实上它从未存在过。我正在使用Linux,所以对于IE版本我借了一个同事的Windows PC并最终发现(通过尝试另一个同事的电脑,一切正常)第一个以我不理解的方式阻止每个Facebook请求,也没有这是什么行为。那是dataerror并不存在。