Je suis en train d'écrire mon premier morceau d'AJAX, en lisant la ligne publique de Twitter.
Je les bits de code suivants:
<!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>
et
/* twitter.js */
TwitterURL = 'http://twitter.com/statuses/public_timeline.xml';
$(document).ready(function() {
$.get(TwitterURL, function(data, textStatus) {
$('#twitter').empty().text(textStatus);
}
);
}
)
Lorsque je tente en fait de l'exécuter, je reçois un textStatus de "succès", mais je ne parais pas pour obtenir des données. Dans Firebug, j'obtiens "Erreur d'analyse XML: aucun élément trouvé" Emplacement: moz-nullprincipal: {82e4c9e5-0335-4fd8-b295-bfb8e10a6b18} Numéro de ligne 1, Colonne 1: "dans la fenêtre de décodage XML.
Si j'utilise curl pour télécharger l'URL, j'obtiens le XML que j'attends.
Qu'est-ce que je fais mal ici?
Edité à ajouter:
Il semble que je reçois effectivement des données de Twitter, la requête HTTP semble prendre environ 5.5s et Firebug affiche les éléments suivants dans la console. Si c'était la même origine qui causait des problèmes, je m'attendrais à un affichage totalement différent.
têtes de requête:
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 têtes de réponse:
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
Il semble que les données proviennent de Twitter, donc je ne suis pas sûr que ce soit le problème. –