打印JSON数据?

时间:2011-02-27 10:40:47

标签: javascript json facebook-graph-api

我正在学习如何使用JavaScript,因此我编写了一个简单的脚本,打印出特定关键字的所有公共Facebook状态。出于某种原因,它没有做我期望它做的事情。找到JSON的示例网址为:http://graph.facebook.com/search?q=Beatles

目前,它没有打印任何结果。有人能发现这个错误吗?

<input type="text" id="query" /><button>add</button><br />
<div id="results">

</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var url='http://graph.facebook.com/search?q=';
var query;
    $('button').click(function(){
        query=$("#query").val();
        $.getJSON(url+query,function(json){
            $.each(json.data,function(i,feed){
                 if(feed.type=='status') {
                        $("#results").append('<p>'+feed.message+'</p>');                 
                 }
            });
        });
    });
});
</script>

1 个答案:

答案 0 :(得分:2)

您无法从外部网址same origin policy)检索数据。只能使用Facebook API支持的JSONP。您必须将callback=?添加到您的网址才能使用它:

var url='http://graph.facebook.com/search?callback=?&q=';

(这也是在您对现已删除的答案的评论中链接的Twitter示例中完成的)