Javascript 将json提要数据显示为html

Javascript 将json提要数据显示为html,javascript,html,json,facebook,facebook-graph-api,Javascript,Html,Json,Facebook,Facebook Graph Api,我想显示从以下url到html页面的数据: (显示来自facebook的最新帖子) 这里是迄今为止的代码: <!DOCTYPE html> <html> <body> <h1>Customers</h1> <div id="id01"></div> <script> var xmlhttp = new XMLHttpRequest(); var url = "https://graph.fac

我想显示从以下url到html页面的数据:

(显示来自facebook的最新帖子)

这里是迄今为止的代码:

<!DOCTYPE html>
<html>

<body>

<h1>Customers</h1>
<div id="id01"></div>

<script>
var xmlhttp = new XMLHttpRequest();
var url = "https://graph.facebook.com/1041049395967347/posts?access_token=616050815226195|bqcTMDgKwdzdDyOeD8uyIKEYZlo";


xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(response) {
    var arr = JSON.parse(response);
    var i;
    var out = "<table>";

    for(i = 0; i < arr.length; i++) {
        out += "<tr><td>" + 
        arr[i].story +
        "</td><td>" +
        arr[i].story +
        "</td><td>" +
        arr[i].created_time +
        "</td></tr>";
    }
    out += "</table>";
    document.getElementById("id01").innerHTML = out;
}
</script>

</body>
</html>

客户
var xmlhttp=new XMLHttpRequest();
变量url=”https://graph.facebook.com/1041049395967347/posts?access_token=616050815226195|BQCTMDGWDZDDYOED8UYKEYZLO”;
open(“GET”,url,true);
xmlhttp.send();
功能myFunction(响应){
var arr=JSON.parse(响应);
var i;
var out=“”;
对于(i=0;i
但我没有得到任何结果

如果我遗漏了什么,有人能帮忙吗

谢谢

试试这个

$.getJSON(“https://graph.facebook.com/1041049395967347/posts?access_token=616050815226195|BQCTMDGWDZDDYOED8UYIKEYZLO“,null,函数(结果){
var out=“”;
对于(i=0;i


arr
不是一个数组,而是一个对象,包含元素
数据
分页
,因此在元素上迭代不起作用。相反,您应该使用arr.length:

var xmlhttp = new XMLHttpRequest();
var url = "https://graph.facebook.com/1041049395967347/postsaccess_token=616050815226195|bqcTMDgKwdzdDyOeD8uyIKEYZlo";

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(response) {
  var arr = JSON.parse(response);
  var i;
  var out = "<table>";

  for (i = 0; i < arr.data.length; i++) {
        out += "<tr><td>" + 
        arr.data[i].story +
        "</td><td>" +
        arr.data[i].story +
        "</td><td>" +
        arr.data[i].created_time +
        "</td></tr>";
  }
  out += "</table>";
  $("#divContent").html(out);
}
var xmlhttp=new XMLHttpRequest();
变量url=”https://graph.facebook.com/1041049395967347/postsaccess_token=616050815226195|BQCTMDGWDZDDYOED8UYKEYZLO”;
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
myFunction(xmlhttp.responseText);
}
}
open(“GET”,url,true);
xmlhttp.send();
功能myFunction(响应){
var arr=JSON.parse(响应);
var i;
var out=“”;
对于(i=0;i
调用的是
myFunction
吗?你是不是从facebook得到了一张200元的回执?是的,document.getElementById(“id01”).innerHTML=out;将获得输出,如果我更改链接“”而不是获得输出,但不使用facebook graph url,请检查我是否遵循此示例,因为我对jsonI不太熟悉,还应指出您的代码中存在XSS漏洞。Facebook不保证它能逃过它返回的数据,而你正在清理你的输出。有关如何缓解此安全问题的更多信息,我建议您在本文中深入探讨DOM构建:查看您是否从facebook获得200。你可能会得到401或什么,因此,
myFunction
没有被调用。我投票支持你解释一下答案,而不仅仅是修改代码。谢谢你的解释。我希望我能将多个问题标记为答案。对于希望操作系统看到完整代码的任何人,我已经用最终工作代码更新了我的问题。谢谢,我不认为更新这个问题使其生效是个好主意。未来的读者不会再认识到这个问题。如果你能帮忙,我还有一个小问题,我想把facebook的创建时间显示为一个小日期,例如2016-04-06T02:01:21+0000到“2016-04-06 02:01:21”或“2小时前”。有什么办法吗?@Joachimschirmacher将我的问题更新回以前的问题。再次感谢。