无法使用http请求获取Json数据

时间:2018-03-27 04:35:52

标签: javascript json ajax xmlhttprequest

我正在尝试获取页面share_count的{​​{1}}数据 这是我的代码:

https://graph.facebook.com/?ids=http://backlinko.com

2 个答案:

答案 0 :(得分:1)

呼叫似乎工作正常,输出即将到来。你有一个错字 -

document.getElementByID('demo').innerHTML+=data.share.share_count;

应该是

document.getElementById('demo').innerHTML+=data.share.share_count;

此外,响应将以json格式显示 -

{
   "http://universalmanual.com": {
      "share": {
         "comment_count": 0,
         "share_count": 0
      },
      "og_object": {
         "id": "477708298951135",
         "type": "website",
         "updated_time": "2013-04-02T05:16:14+0000"
      },
      "id": "http://universalmanual.com"
   }
}

因此可以在

中获得共享计数
data["http://universalmanual.com"].share.share_count 

更新了代码集 - https://codepen.io/anon/pen/oqowZN

答案 1 :(得分:0)

document.getElementById中的拼写错误外,您还需要更正访问share_count的方式。您需要以data['http://universalmanual.com'].share.share_count

的形式访问它

<div id='demo'/>
<script>
  var fbsrc = "https://graph.facebook.com/?ids=http://universalmanual.com";
  var request = new XMLHttpRequest();
request.open('GET', fbsrc, true);

request.onload = function() {
  if (request.status >= 200 && request.status < 400) {
    // Success!
    var data = JSON.parse(request.responseText);
    document.getElementById('demo').innerHTML+=data['http://universalmanual.com'].share.share_count;
  } 
};



request.send();
</script>