thomasbritton
thomasbritton

Reputation: 87

Getting 'data is null' on a Twitter API call but displays data in browser

I'm trying to display the follow count of a twitter account, but when I hook into the API using this code:

$.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);
    }
});

I get a 200 ok report but with Data is null message.

But if I download the json file to my local machine and change the getJSON call accordingly, it works straight away.

Has anyone got any ideas on what could be causing this?

Thanks

Also just to add, if I put the Twitter API url into my browser it displays all the data, which makes it even weirder.

Upvotes: 2

Views: 409

Answers (2)

Johan
Johan

Reputation: 35194

$.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);
    }
});

Upvotes: 0

Nicola Peluchetti
Nicola Peluchetti

Reputation: 76870

Maybe the problem lies with jsonP, since you are calling a remote server and you must specify you should use jsonP. Have you tried adding callback=? as a parameter

$.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);
    }
});

Taken from jQuery docs

JSONP
If the URL includes the string "callback=?" (or similar, as defined by the server-side API), the request is treated as JSONP instead. See the discussion of the jsonp data type in $.ajax() for more details.

Upvotes: 2

Related Questions