获取LinkedIn分享数量JSONP

使用LinkedIn API,我想获得URL的共享计数。

https://www.linkedin.com/countserv/count/share?url=http://www.linkedin.com&format=json 

但是由于同源策略,这给了我一个错误。 我想使用JSONP然后获取数据,但我被困在那里。

 $.getJSON("https://www.linkedin.com/countserv/count/share?url=https://www.linkedin.com&format=jsonp&callback=myCallback", function(data) { elem.find(".count").html(data.count); }); 

我仍然得到Same-Origin Policy错误,没有data.count的数据。 谁能帮我吗? 谢谢!

尝试

 myCallback = function(data) { // do stuff with `data` }; var url = "https://www.linkedin.com/countserv/count/share?" + "url=https://www.linkedin.com&format=jsonp&callback=myCallback"; $.getScript(url); 

请参阅jQuery.getScript()

 myCallback = function(data) { $("body").append("
" + JSON.stringify(data, null, 2) + "

") }; $.getScript("https://www.linkedin.com/countserv/count/share?url=https://www.linkedin.com&format=jsonp&callback=myCallback");

  

谢谢大家的答案,但我已经解决了。

这对我有用:

 $.getJSON("http://www.linkedin.com/countserv/count/share?url=https://www.linkedin.com&format=jsonp&callback=?", function(data) { elem.find(".count").html(data.count); }); 

从jQuery 1.5.1开始,这是构建AJAX请求的推荐方法:

 $.ajax({ dataType: "jsonp", url: "http://www.linkedin.com/countserv/count/share", data: { callback: "?", format: "jsonp", url: "http://www.example.com/" } }).done(function(data) { console.log(data.count); }); 

几天前,LinkedIn改变了他们的API,上面的解决方案被破坏了:


     $ .getJSON(“http://www.linkedin.com/countserv/count/share?url=https://www.linkedin.com&format=jsonp&callback=?”,function(data){
             elem.find( “计数”)HTML(data.count)。
     });

失败因为jQuery会取代? 进入一个带有数字随机名称的回调。 现在,Linkedin可以防止在回调名称中使用数字。

解决方案是使用“手动”$ .ajax来阻止jQuery自动化


     $就({
         dataType:“jsonp”,
        url:'https://www.linkedin.com/countserv/count/share',
         data:{'url':encodeURIComponent(location.href)},
         jsonpCallback:'this_is_a_random_name',
        成功:函数(数据){
                 elem.find( “计数”)。HTML(data.count);;
         }
     });