用AJAX处理Facebook-JSON
我试图检索用户输入url的facebook事件的详细信息 基本上,用户输入事件的url,例如。 然后,生成的JSON格式的信息将被分配给变量并传递到适当的表单值中,这只是一个自动填充功能,使我的站点上的事情变得更简单 现在我有了将url传递到文件的表单,我使用的是getjson用AJAX处理Facebook-JSON,json,facebook,jquery,Json,Facebook,Jquery,我试图检索用户输入url的facebook事件的详细信息 基本上,用户输入事件的url,例如。 然后,生成的JSON格式的信息将被分配给变量并传递到适当的表单值中,这只是一个自动填充功能,使我的站点上的事情变得更简单 现在我有了将url传递到文件的表单,我使用的是getjson $.getJSON("getevent.php?event="+event,function(data) 但我不知道如何处理返回,因为在我下面的示例中,json的格式如下: {"posts": [ { "title
$.getJSON("getevent.php?event="+event,function(data)
但我不知道如何处理返回,因为在我下面的示例中,json的格式如下:
{"posts":
[
{
"title":"9lessons | Programming Blog",
"url":"http://9lessons.blogspot.com"
},
{
"title":"jQuery and Ajax Demos Pard - 3",
"url":"jquery-and-ajax-best-demos-part-3.html"
},
]
}
并可在返回时使用以下命令输出:
<script type="text/javascript">
$(function()
{
$(document).ready(function()
{
$.getJSON("data.js",function(data)
{
$.each(data.posts, function(i,data)
{
var div_data =
"<div ><a href='"+data.url+"'>"+data.title+"</a></div>";
$(div_data).appendTo("#9lessonsLinks");
});
}
);
return false;
});
});
</script>
正如你所看到的,它并没有一个与我可以使用的“帖子”相当的顶级版本,所以我有点困惑。此外,我不确定如何将其输出到文件中,因为url传递到的php文件中有以下内容:
$url = $_GET['event'];
parse_str( parse_url( $url, PHP_URL_QUERY ) );
$id = $eid;
$url = 'https://graph.facebook.com/'.$id;
$json = file_get_contents($url,0,null,null);
$json_output = json_encode($json, false);
print_r($json_output);
无论如何,这似乎是错误的,因为输出在每个引用之前都充满了反斜杠
我知道这很简单,但我就是想不出来。我想做的是将每个类别分配给一个变量来处理它,但现在我只想先输出它。我发现AJAX非常复杂,因为似乎有10种方法可以做同样的事情
编辑:我意识到我不需要JSONdecode,只需要回显$json。Firebug看到JSON生成得很好,但在将其添加到AJAX之后,什么也没有发生:
$.getJSON("getevent.php?event="+event,function(data)
{
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('#arrData');
}
);
return false;
$.getJSON(“getevent.php?event=“+事件,函数(数据))
{
var项目=[];
$。每个(数据、函数(键、值){
items.push(““+val+” ”);
});
$(“
”{
“类”:“我的新列表”,
html:items.join(“”)
}).appendTo(“#arrData”);
}
);
返回false;
所以我甚至不知道我现在要修复什么,就我所能理解的而言,我已经完成了手册告诉我的,JSON是正确的
谢谢你我认为你正在使用的JSON是一个帖子列表。第二个JSON摘录看起来像是正确的(即一个事件对象)。不,我认为您误读了。第一个是我下面的示例中使用的。第二个json是我想要使用的json。我知道它是正确的,我只是不知道如何使用它。它应该很好用。我已经用JavaScript代码尝试了JSON提取,它确实在列表中显示了所有事件属性。您是否检查过getJSON接收到的值,例如window.alert(数据)?我在alert框中得到[object object]?它只是随机开始工作,我不知道我更改了什么,但现在输出非常好。谢谢
$.getJSON("getevent.php?event="+event,function(data)
{
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('#arrData');
}
);
return false;