我需要什么?我需要使用javascript获取总份额数。

使用此链接:https://api.pinterest.com/v1/urls/count.json?callback=receiveCount&url=http://google.com

我可以得到结果:
receiveCount({"url":"http://google.com","count":11278})

我的代码不起作用,我不确定代码的哪一部分是错误的。下面:



#pin-div {
  color: red
}

<script type="text/javascript" src="//code.jquery.com/jquery-1.12.4.js"></script>

<div id="pin-div">0</div>

<script type="text/javascript">
  $(function() {
    var url = "http://facebook.com";
    var apiUrl = "https://api.pinterest.com/v1/urls/count.json?callback=receiveCount&url=" + url;

    $.ajax({
      url: apiUrl,
      success: function(result) {
        $.each(result, function(key, val) {
          console.log(key + " - " + val["receiveCount"]["count"]);
          var shareCount = val["receiveCount"]["count"];
          $("#pin-div").html(shareCount);
        });
      }
    });
  });
</script>

最佳答案

您的数据为jsonpreceiveCount({"url":"http://google.com","count":11278})。必须在窗口上下文中创建receiveCount函数以保存数据的位置。

您需要在dataType: "jsonp"代码中添加:$.ajax

您可以尝试使用以下版本的代码:



#pin-div {
  color: red
}

<script type="text/javascript" src="//code.jquery.com/jquery-1.12.4.js"></script>

<div id="pin-div">0</div>

<script type="text/javascript">
  $(function() {
    var url = "http://facebook.com";
    var apiUrl = "https://api.pinterest.com/v1/urls/count.json?callback=receiveCount&url=" + url;

    $.ajax({
      url: apiUrl,
      dataType: "jsonp",
      success: function(result) {
        receiveCount(result);
      }
    });
  });

  function receiveCount(data) {
    $("#pin-div").html(data.count);
  }
</script>

07-26 06:41