Получение 'data is null' при вызове API Twitter, но отображение данных в браузере - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь отобразить счетчик следующих записей для учетной записи Twitter, но когда я подключаюсь к API с помощью этого кода:

$.getJSON("https://api.twitter.com/1/users/show.json?screen_name=uswitchTech&include_entities=true", function(data) {
    console.log(data);
    if (!data.error) {
        $("#followers").html(data.followers_count);
    }
});

Я получаю отчет 200 ok, но с Данныеnull message.

Но если я скачаю файл json на свой локальный компьютер и соответствующим образом изменю вызов getJSON, он сразу же заработает.

У кого-нибудь есть идеи по поводу того, что может бытьвызывая это?

Спасибо

Также просто добавлю, что если я вставлю URL-адрес Twitter API в свой браузер, он отобразит все данные, что делает его еще более странным.

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Возможно, проблема в jsonP, так как вы вызываете удаленный сервер, и вы должны указать, что вы должны использовать jsonP. Вы пытались добавить callback=? в качестве параметра

$.getJSON("https://api.twitter.com/1/users/show.json?screen_name=uswitchTech&include_entities=true&callback=?", function(data) {
    if (!data.error) {
        $("#followers").html(data.followers_count);
    }
});

Взято из документации jQuery

JSONP
Если URL содержит строку "callback =?" (или аналогичный, как определяется серверным API), запрос обрабатывается как JSONP вместо. Смотрите обсуждение типа данных jsonp в $ .ajax () для более подробная информация.

0 голосов
/ 24 января 2012
$.ajax({
    url: 'https://api.twitter.com/1/users/show.json?screen_name=uswitchTech&include_entities=true',
    dataType: 'jsonp',
    success: function(data){
        console.log(data.followers_count);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...