3

Twitterが提供するJSONファイルをjQueryで解析して、5つのツイートを表示するTwitterフィードを作成しようとしています。ここでjsFiddleを作成しました。

$(document).ready(function () {

    var k = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=Twitter&include_rts=1&count=5";

    $.getJSON(k, function (data) {
        $.each(data, function (i, item) {
            $("#tweetFeed").append("<div class='tweetCloud'><div id='tweetArrow'></div><div id='tweetText'>" + item.text.linkify() + "</div></div>");
        });
    });
});

ツイートは、jQueryコードによって次のように出力される必要があります。

<div class="tweetCloud">
<div id="tweetArrow"></div>
<div id="tweetText">tweet text</div>
</div>

ツイートのテキストのみを使用する必要があります。

jsFiddleでわかるように、ツイートは表示されません。理由はわかりません。私はjQueryの経験があまりなく、JSONの経験もほとんどないので、これが機能しない理由を誰かが明確に説明してくれることを願っています。

ありがとうございました。

4

1 に答える 1

4

コードはJSONPを使用していなかったため、クロスドメイン制限によって拒否されました。リクエストを変更しましたが、現在は機能しています。これがコードで、これがフィドルです

$(document).ready(function () {

    var k = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=Twitter&include_rts=1&count=5&jsoncallback=";

    $.ajax({
        dataType: 'jsonp',
        url: k,
        success: function (data) {
            $.each(data, function (i, item) {
                $("#tweetFeed").append("<div class='tweetCloud'><div id='tweetArrow'></div><div id='tweetText'>" + item.text + "</div></div>");
            })
        }
    });
});

CSSのあなたのimgurリンクは404でしたので、私はそれをコメントアウトしました。また、linkify()方法ではありません。おそらく、追加のライブラリをリンクするのを忘れたのでしょう。最後に、droidフォントへのリンクがjsfiddleに正しく埋め込まれていませんでした。

于 2013-03-24T12:18:23.727 に答える