У меня есть код, который заставляет простое получить запрос к Твиттеру (поисковое) использование метода Ajax jQuery. Код хорошо работает на Safari, но перестал работать на Firefox (3.6.3). В случае Firefox, моем jQuery.ajax
метод 'успеха' параметров вызывается, но данные, которыми снабжают, являются пустыми. (В Safari я получаю много данных JSON.)
Мой вызов Ajax:
$.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 показывает заголовки Ответа:
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
Состояние HTTP в порядке (200), Тип контента правильно application/json
, и Довольная Длина 2 126 (gzip'd) подразумевает, что данные возвратились. Все же Firebug показывает Ответ, чтобы быть пустым, и тест снабженных данных показывает его, чтобы быть 'пустым'.
Я знаю о подобном сообщении на Переполнении стека, $ jQuery .get (), функция успешно выполняется с 200, но не возвращает содержания в Firefox, и от этого предположил бы, что эта проблема возможно связана с междоменной безопасностью, но... Я знаю, что существует много виджетов JavaScript и этажерки, что Ajax получает данные из Твиттера. Есть ли что-то, что я должен включить для разрешения этого?