gpt4 book ai didi

javascript - 简单的 jQuery $.get 调用 twitter 失败

转载 作者:行者123 更新时间:2023-11-28 14:04:39 25 4
gpt4 key购买 nike

我正在尝试编写我的第一个 AJAX 代码,读取 Twitter 上的公共(public)时间线。

我有以下代码:

<!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);
}
);
}
)

当我实际尝试运行它时,我得到“成功”的文本状态,但我似乎没有获取任何数据。

在 Firebug 中,我在 XML 解码窗口中收到“XML 解析错误:找不到元素位置:moz-nullprincipal:{82e4c9e5-0335-4fd8-b295-bfb8e10a6b18} 行号 1,列 1:”。

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

我在这里做错了什么?

编辑添加:

看来我实际上是从 twitter 获取数据,HTTP 请求似乎需要大约 5.5 秒,并且 firebug 在控制台中显示以下内容。如果是同源策略导致问题,我会期望完全不同的显示。

请求 header :

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 响应 header :

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

最佳答案

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

/* 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 请求不起作用。

关于javascript - 简单的 jQuery $.get 调用 twitter 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com