«jQuery.getJSON» не работает в Internet Explorer 8 - PullRequest
3 голосов
/ 10 декабря 2011

Я использую jQuery.getJSON для получения списка друзей в Facebook, но я не получаю его. Он отлично работает в Firefox и Chrome, но не работает в Internet Explorer 8.

jQuery.getJSON("https://graph.facebook.com/me/friends?access_token="+aToken,
    function(data) {
        alert(data);
    }
);

Кроме того, после небольшого исследования я попытался также использовать этот код:

jQuery.ajax({
    url:"https://graph.facebook.com/me/friends?access_token="+aToken,
    type: 'json',
    success: function(json) {
        alert(json);
    }
});

Ответы [ 3 ]

8 голосов
/ 10 декабря 2011

Internet Explorer 8 не поддерживает CORS в XMLHttpRequest объекте, который использует jQuery. Internet Explorer 8 использует объект XDomainRequest , который jQuery не поддерживает по умолчанию.

7 голосов
/ 10 декабря 2011

Попробуйте исправить ошибку:

jQuery.getJSON("https://graph.facebook.com/me/friends?access_token=" + aToken, 
    function(data) {
        alert(data);
    }
)
.error(function(jqXHR, textStatus, errorThrown) { alert(errorThrown); });

И попробуйте этот хак в вашем коде (согласно комментарию ниже)

jQuery.support.cors = true;
3 голосов
/ 12 июня 2014

Я полностью решил эту проблему, используя скрипт Jason Moon, здесь

https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest/blob/master/jQuery.XDomainRequest.js

надеюсь, это поможет.

...