Javascript 只需jQuery$.get调用twitter失败

Javascript 只需jQuery$.get调用twitter失败,javascript,jquery,ajax,twitter,Javascript,Jquery,Ajax,Twitter,我正试图写我的第一篇AJAX文章,阅读Twitter上的公共tmeline 我有以下代码: <!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"

我正试图写我的第一篇AJAX文章,阅读Twitter上的公共tmeline

我有以下代码:

<!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>
当我实际尝试运行它时,我会得到一个文本状态“success”,但我似乎没有得到任何数据

在Firebug中,我在XML解码窗口中获得了“XML解析错误:未找到元素位置:moz nullprincipal:{82e4c9e5-0335-4fd8-b295-bfb8e10a6b18}行号1,第1列:”的信息

如果我使用curl下载URL,就会得到我期望的XML

我做错了什么

编辑以添加:

看起来我实际上是从twitter获取数据,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
我猜

嗯。如果你真的要取回数据,但是Firefox没有正确解析它。。。您是否尝试过用JSON而不是XML(通过请求)来实现这一点?或者向jQuery指定希望返回XML(我猜是通过将第三个参数
“XML”
传递给?

嗯。如果你真的要取回数据,但是Firefox没有正确地解析它……你是否尝试过用JSON而不是XML(通过请求)来做这件事?或者向jQuery指定你希望XML回来(通过将第三个参数
“XML”
传递给?

签出JSONP

如果你只是想在你的博客上显示你的wteets,例如,你可以使用

查看JSONP


如果你只是想在你的博客上显示你的wteets,例如,你可以使用,使用下面的代码应该可以解决这个问题

/* Twitter.js - Code gets and displays the latest tweet from Twitter */
twitterURL = 'http://twitter.com/statuses/public_timeline.json';
$(document).ready(function() {
  $.get(twitterURL, function(json) {    
    $('#twitter').empty().text(json[0].text); // Subscript k of json object between 0 and 19 (inclusive)
  }, 'jsonp');
});

但是我仍然不确定为什么对XML的GET请求不起作用。

使用下面的代码应该可以解决这个问题

/* Twitter.js - Code gets and displays the latest tweet from Twitter */
twitterURL = 'http://twitter.com/statuses/public_timeline.json';
$(document).ready(function() {
  $.get(twitterURL, function(json) {    
    $('#twitter').empty().text(json[0].text); // Subscript k of json object between 0 and 19 (inclusive)
  }, 'jsonp');
});

但是我仍然不确定为什么对XML的GET请求不起作用。

它似乎是从twitter获取数据,所以我不确定这是问题所在。它似乎是从twitter获取数据,所以我不确定这是问题所在。