jQuery.ajax call to Twitter succeeds but returns null for Firefox

Posted by Zhami on Stack Overflow See other posts from Stack Overflow or by Zhami
Published on 2010-04-11T22:50:27Z Indexed on 2010/04/11 22:53 UTC
Read the original article Hit count: 764

Filed under:
|
|

I've got code that makes a simple get request to Twitter (search) using jQuery's ajax method. The code works fine on Safari, but fails on Firefox (3.6.3). In the Firefox case, my jQuery.ajax parameters 'success' method is invoked, but the supplied data is null. (In Safari, I receive a boatload of JSON data).

My ajax call is:

$.ajax({
    url: 'http://search.twitter.com/search.json?q='+searchTerm, 
    dataType: 'json',
    async: true,
    beforeSend: function(request) {
        window.console.log('starting AJAX request to get Twitter data');
     },
    success: function(data, textStatus, request) {
        window.console.log('AJAX request to get Twitter succeeded: status=' + textStatus);
        callback(data);
    },
    error: function(request, status, error) {
        window.console.log('AJAX request to get user data --> Error: ' + status);
        errback(request, status, error);
    }
});

Firebug shows Response headers:

Date    Sun, 11 Apr 2010 22:30:26 GMT
Server  hi
Status  200 OK
X-Served-From   b021
X-Runtime   0.23841
Content-Type    application/json; charset=utf-8
X-Served-By sjc1o024.prod.twitter.com
X-Timeline-Cache-Hit    Miss
Cache-Control   max-age=15, must-revalidate, max-age=300
Expires Sun, 11 Apr 2010 22:35:26 GMT
Vary    Accept-Encoding
X-Varnish   1827846877
Age 0
Via 1.1 varnish
X-Cache-Svr sjc1o024.prod.twitter.com
X-Cache MISS
Content-Encoding    gzip
Content-Length  2126
Connection  close

The HTTP status is OK (200), the Conetnt-Type is properly application/json, and the Content-Length of 2126 (gzip'd) implies data came back. Yet Firebug shows the Response to be empty, and a test of the supplied data shows it o be 'null.'

I am aware of a similar post on Stack Overflow:

http://stackoverflow.com/questions/1188976/jquery-get-function-succeeds-with-200-but-returns-no-content-in-firefox

and from that would assume this problem is possibly related to cross-domain security, but... I know there are many JS widgets and whatnots that ajax get data from Twitter. Is there something I need to enable to allow this?

© Stack Overflow or respective owner

Related posts about jquery-ajax

Related posts about twitterapi