Я пытаюсь написать свой первый бит AJAX, читая общедоступную tmeline из Twitter.
У меня есть следующие биты кода:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Javascript Twitter client</title>
<script src="library/jquery-1.4.1.js" type="text/javascript"></script>
<script src="twitter.js" type="text/javascript"></script>
</head>
<body>
<div id="twitter"><p>Blank text</p>
</div>
</body>
</html>
и
/* twitter.js */
TwitterURL = 'http://twitter.com/statuses/public_timeline.xml';
$(document).ready(function() {
$.get(TwitterURL, function(data, textStatus) {
$('#twitter').empty().text(textStatus);
}
);
}
)
Когда я на самом деле пытаюсь запустить его, я получаю textStatus «success», но я не получаю никаких данных.
В Firebug я получаю «Ошибка синтаксического анализа XML: элемент не найден Расположение: moz-nullprincipal: {82e4c9e5-0335-4fd8-b295-bfb8e10a6b18} Строка № 1, столбец 1:» в окне декодирования XML.
Если я использую curl для загрузки URL-адреса, я получаю ожидаемый XML-код.
Что я здесь не так делаю?
Отредактировано, чтобы добавить:
Похоже, что я на самом деле получаю данные из твиттера, HTTP-запрос, кажется, занимает около 5,5 с, а firebug отображает следующее в консоли. Если бы это был один и тот же источник, вызывающий проблемы, я бы ожидал совершенно другой дисплей.
Заголовки запроса:
Host: twitter.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.04 (jaunty) Shiretoko/3.5.7
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Origin: null
Заголовки Http-ответа:
Date: Wed, 17 Feb 2010 22:49:32 GMT
Server: hi
X-RateLimit-Limit: 150
X-Transaction: 1266446972-35253-14922
Status: 200 OK
Etag: "4f77a9ba7d3794163fbe9561e4e829f4"-gzip
Last-Modified: Wed, 17 Feb 2010 22:49:32 GMT
X-RateLimit-Remaining: 149
X-Runtime: 0.23618
Content-Type: application/xml; charset=utf-8
Pragma: no-cache
X-RateLimit-Class: api
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Expires: Tue, 31 Mar 1981 05:00:00 GMT
X-Revision: DEV
X-RateLimit-Reset: 1266450572
Set-Cookie: _twitter_sess=BAh7CDoRdHJhbnNfcHJvbXB0MDoHaWQiJWNlODVlYTQwNWQ0NWIxM2UzODNm%250AN2FhYzBhY2JkZGNlIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFz%250AaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--e866ff422f342146a298acbce26872cf6c04b7e8; domain=.twitter.com; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: close
Transfer-Encoding: chunked