Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取twitter URL计数?_Javascript_Jquery_Api_Twitter_Jsonp - Fatal编程技术网

Javascript 如何获取twitter URL计数?

Javascript 如何获取twitter URL计数?,javascript,jquery,api,twitter,jsonp,Javascript,Jquery,Api,Twitter,Jsonp,我有以下代码,我无法理解为什么它不返回并在HTML正文中打印它 var pageURL = document.URL; var tweet = "https://cdn.api.twitter.com/1/urls/count.json?url='"+ pageURL + "'"; $.getJSON(tweet,function(json){ $('#twitterfeed').html(json.count); }); <div id="twitterfeed">

我有以下代码,我无法理解为什么它不返回并在HTML正文中打印它

var pageURL = document.URL;
var tweet  = "https://cdn.api.twitter.com/1/urls/count.json?url='"+ pageURL + "'";

$.getJSON(tweet,function(json){
    $('#twitterfeed').html(json.count); 
});

<div id="twitterfeed"></div>
var pageURL=document.URL;
var tweet=”https://cdn.api.twitter.com/1/urls/count.json?url=“+pageURL+”;
$.getJSON(tweet,函数(json){
$('#twitterfeed').html(json.count);
});

返回{“count”:23844636,“url”:http://www.google.com/“}


以下内容似乎不起作用,有人知道为什么吗?

默认情况下,jQuery发出AJAX请求。由于它是跨域的,并且CORS HTTP头不存在于响应中,所以它失败了。添加&回调=?请求URL以发出JSONP请求

  var pageURL = "http://www.google.com";
  var urlParams = $.param({ "url": pageURL });
  var tweet  = "https://cdn.api.twitter.com/1/urls/count.json?"+urlParams;


  $.ajax(tweet, { "dataType" :"jsonp" }).done(function(json){
    $('#twitterfeed').text(json.count); 
  });
演示


截至2015年11月20日,还没有推特计数API,所以不用麻烦了:

已被弃用


但是,如果你注册了你的域名,你可以把它改成上面提到的URL

HTML之前的JavaScript在同一个文件中吗?是的,它在顶部。用$(function(){//your code here})包装它;这将延迟它的执行,直到DOM被加载和解析。但是它似乎不起作用,看看这个。。但是如果删除“+pageURL+”,并包含该url,它将正常工作。。您知道为什么会这样吗?通过为页面URL添加正确的URL编码,使用带有延迟的$.ajax调用(正如jQuery开发人员所建议的那样),更改了脚本。检查jsFiddleThis现在已弃用()。谢谢。根据这篇博文的结尾,也许在不久的将来会有一个等价物?不管怎么说,我认为移除它是一个非常糟糕的决定。甚至facebook API也在其API中改进了这一点。希望twitter能以更好的方式再次实现它。“我们感谢您在过去60天里对您如何使用这些计数的反馈,并期待在我们创建和改进工具以将Twitter内容集成到您的应用程序和网站中时将其纳入其中。”谢谢,很好的替代方案,但速度要慢得多…:/我喜欢慢但工作,而不是不工作;-)而且只是计算速度慢,显示速度应该快,因为我们使用的是CDN。谢谢,这是一个很好的选择,当然,但有一定的限制:当url属于youtue.com或外部域名时,获取youtube视频的推文数量如何?我真的希望推特能提供一个替代方案,即使我们必须付费