我想知道是否有人可以帮助解释以下场景中发生的事情。我试图使用新的twitter api v.1.1获取我的所有推文。我遇到了this博客文章,展示了如何使用sinatra。所以我已经设置了这个并在localhost:9393 / feed
获得我的推文的JSON转储get '/feed' do
jsonp @@twitter_client.user_timeline('richl14').map(&:attrs)
end
我的第一个问题是@@正在做什么,第二个问题是如何才能让我的索引显示在我的索引页面上...使用jQuery?如果有人可以提供一个可以帮助我很多的简单例子
JSON结构
[
{
"created_at": "Thu Jun 13 10:56:45 +0000 2013",
"id": 345132629995184128,
"id_str": "345132629995184128",
"text": "@phoenix_touch You guys need any new players? Looking to pop down next week.",
"source": "web",
"truncated": false,
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": 576324146,
"in_reply_to_user_id_str": "576324146",
"in_reply_to_screen_name": "phoenix_touch",
"user": {
"id": 383286861,
"id_str": "383286861",
"name": "Richard Lewis",
"screen_name": "richl14",
"location": "United kingdom",
"description": "#RubyonRails #webdev #softwaretesting #Newport #Wales",
"url": null,
"entities": {
"description": {
"urls": [
]
}
},
答案 0 :(得分:1)
前缀为@@
的变量是类变量。这是一个在整个Ruby类上设置的变量,而不是在单个实例(@
前缀)或本地(无前缀)上设置。
要在jQuery中访问feed,请尝试以下方法:
jQuery(function($) {
var $container = $('#container');
$.get('/feed', function(data) {
$container.empty();
$.each(data.tweets, function(_, tweet) {
var $tweet = $(document.createElement('div'));
$tweet.text(tweet.contents);
$container.append($tweet);
});
}, 'json');
});
当Feed看起来像这样:
{
"tweets": [
{ "contents": "Hello, World!", "username": "albert" },
{ "contents": "Too many twits might make a twat.",
"username": "DavidCameron" }
]
}
您必须更改为代码以适应实际的JSON结构,但这是一个开始。