我正在学习如何使用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>
答案 0 :(得分:2)
您无法从外部网址same origin policy)检索数据。只能使用Facebook API支持的JSONP。您必须将callback=?
添加到您的网址才能使用它:
var url='http://graph.facebook.com/search?callback=?&q=';
(这也是在您对现已删除的答案的评论中链接的Twitter示例中完成的)