0

我想知道是否有人可以帮助解释以下场景中发生的一些事情。我正在尝试使用新的 twitter api v.1.1 获取我所有的推文。我看到这篇博客文章展示了如何使用 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": [

      ]
    }
  },
4

1 回答 1

1

以 为前缀的变量@@类变量。这是一个在整个 Ruby 类上设置的变量,而不是在单个实例(@前缀)或本地(无前缀)上。

要访问 jQuery 中的提要,请尝试以下操作:

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

当提要如下所示时,这将起作用:

{
    "tweets": [
        { "contents": "Hello, World!", "username": "albert" },
        { "contents": "Too many twits might make a twat.",
          "username": "DavidCameron" }
    ]
}

您必须更改代码以适应实际的 JSON 结构,但这是一个开始。

于 2013-06-16T11:33:45.183 回答