【问题标题】:can't get shares count data from addThis API using <script/>无法使用 <script/> 从 addThis API 获取共享计数数据
【发布时间】:2016-05-08 17:59:58
【问题描述】:

尝试在几个小时内找到解决此问题的方法后。我决定问问 Stackoverflow 上的专家。

使用相同的脚本代码。它适用于 Facebook API,但不适用于 addThis API。任何人都可以帮忙吗?

我只需要 addThis Total Shares Count,并在我的网站上输入我的 HTML element

非常感谢。

  var sum = 0,
      link = encodeURI('http://twitter.com');


$.getJSON('http://api-public.addthis.com/url/shares.json?url='+link,function(addthis) {

    sum += parseFloat(addthis.shares);

    $('.at').html(sum);

  });

  $.getJSON('http://graph.facebook.com/?id='+link,function(fb) {

    sum += parseFloat(fb.shares);

    $('.fb').html(sum);

  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class='fb'>fb script not working.</div>

<div class='at'>addThis script not working.</div>

【问题讨论】:

  • 您解决了这个问题吗? access-control-allow-origin 标头不起作用。

标签: javascript jquery json api addthis


【解决方案1】:

我相信您正在从与您所在的域不同的域发出 XHR 请求。因此这里的问题是CORS。当您尝试发出该请求而不是在浏览器控制台上时,您应该会收到错误

No 'Access-Control-Allow-Origin' header is present on the requested resource.

出于安全原因,现代浏览器会阻止跨源请求。 为了更好地理解,请阅读更多关于 here

【讨论】:

  • 不,我确实在同一个域中请求。我总是无法使用 addThis API 获取共享数据。但如果我用 Facebook API 更改它,它就可以工作(代码相同)
  • 那是因为http://api-public.addthis.com 不允许 CORS 请求,而 fb 允许。
猜你喜欢
  • 1970-01-01
  • 2023-01-12
  • 2016-12-01
  • 1970-01-01
  • 2020-10-14
  • 2011-08-07
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多