0

この関数はChromeとFirefoxで機能しますが、errorHandlerがこのエラーメッセージをログに記録しているIE9では機能しません。

ERROR:  getFriendsArray {"readyState":0,"status":0,"statusText":"No Transport"}

getUserAccessToken()は正しい値を返しています。IEにのみ影響するアイデアはありますか?

編集:IEブラウザで直接https://graph.facebook.com/me/friendsがHTTP400エラーを返すようです。

function getFriendsArray() {

    var friendsArray = [];

    $.ajax({                                      
        url: 'https://graph.facebook.com/me/friends',
        data: {
            access_token: getUserAccessToken(),
            fields: 'name,picture,gender'
        },
        dataType: 'json',
        cache: true,
        async: false,
        success: function(response) {
            var data = '';
            $.each(response.data, function(indice, item) {
                friendsArray.push(item);
            });                       
        },
        error: function(err) {
            errorHandler('getFriendsArray', JSON.stringify(err));
        }
    });

    return friendsArray.sort(sortByName);   
}
4

1 に答える 1

0

$.ajaxXMLHttpRequestまたはXDomainRequest(IE)の使用のみをサポートします。後者はいくつかのシナリオのみをサポートし、要求されたリソースがSSLの場合はページがSSLである必要があります。

代わりに、を使用FB.apiしてください。これは、JSONP、XHR、XDomainRequest、またはFlashのいずれかを使用して、呼び出しが確実に通過するようにします。

于 2012-10-17T05:16:44.790 に答える