最新的推文并不总是显示

时间:2012-01-04 16:11:43

标签: javascript jquery twitter

使用以下代码,最新推文仅偶尔在Chrome中显示,但始终在Firefox中显示。通常只在Chrome中显示/?在网址上,但当我刷新时消失。

jQuery(document).ready( function(){
console.log("getting twitter data..");
jQuery.getJSON("http://twitter.com/statuses/user_timeline/*hidden*.json?callback=?", function(data) {
    console.log("got it..", data);
        jQuery("#tweet").html(data[0].text);
        jQuery("#ttime").html(data[0].created_at);
} );
});

1 个答案:

答案 0 :(得分:0)

您正试图从Twitter API获取直接JSON。由于same origin policy,这是不可能的。您只能从自己的域中获取JSON。

存在一种解决方法,它被称为JSONP(带填充的JSON),而这正是Twitter正在使用的。您需要将函数的名称附加到URL中的callback参数。然后在twitter API加载时执行此函数。

例如你可以这样做:

<强>的JavaScript

function render(data) {
  // data is the object that contains your twitter data. It's an usual JavaScript object.
}

<强> HTML

<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/username?
callback=render"></script>

确保在加载twitter API时已加载render