使用Reqwest.js获取twitter和facebook的分享
Get twitter and facebook shares using Reqwest.js
对于ajax请求,我使用Reqwest.js,因为我根本不使用jQueryhttps://github.com/ded/reqwest
看起来Reqwest支持jsonp请求,但是我遇到了一些问题。
下面是我使用jQuery获取facebook和twitter共享的代码:
// facebook
$.ajax({
url: 'http://graph.facebook.com/http://google.com',
type: 'GET',
dataType: 'JSONP'
}).always(function(data) {
if (data.shares) {
alert(data.shares);
}
});
// twitter
$.ajax({
url: 'http://urls.api.twitter.com/1/urls/count.json?url=http://google.com',
type: 'GET',
dataType: 'JSONP'
}).always(function(data) {
if (data.count) {
alert(data.count);
}
});
jQuery代码运行良好,jsonp工作正常
下面是我用于Reqwest.js (jQuery替代ajax请求)的代码:
// facebook
reqwest({
url: 'http://graph.facebook.com/http://google.com',
type: 'JSONP',
complete: function(data) {
var response = parse(data.response);
if (data.response && response.shares) {
count.facebook = response.shares;
}
update('fb');
}
});
// twitter
reqwest({
url: 'http://urls.api.twitter.com/1/urls/count.json?url=http://google.com',
type: 'JSONP',
complete: function(data) {
var response = parse(data.response);
if (data.response && response.count) {
count.tw = response.count;
}
update('tw');
}
});
Facebook代码在这里运行良好,这是一个演示http://jsbin.com/jaxuniya/1/edit?html,js,console,output
Twitter代码返回几个错误,下面是一个示例http://jsbin.com/tadejayi/1/edit?html,js,output
看起来jsonp不像预期的那样工作,我以错误的方式使用它吗?
这里有一个错误文本:
加载资源失败:服务器响应的状态是501(未实现)
http://urls.api.twitter.com/1/urls/count.json?url=http://google.com
加载资源失败:没有'Access-Control-Allow-Origin'标头出现在请求的资源上。原产地"
http://jsbin.com
"是因此不允许进入。http://urls.api.twitter.com/1/urls/count.json?url=http://google.com
XMLHttpRequest无法加载
http://urls.api.twitter.com/1/urls/count.json?url=http://google.com.
请求的文件中没有"Access-Control-Allow-Origin"标头资源。因此,不允许访问原点'http://jsbin.com
'。1:1Uncaught SyntaxError: Unexpected end of input 1:1 (JSON.parse)
我如何解决这个问题?
错误检查说的太明显了:
加载资源失败:服务器响应状态为501(未实现)http://urls.api.twitter.com/1/urls/count.json?url=http://google.com
-
似乎服务器无法消化请求方法,我似乎是合理的,因为你确实用jQuery方法
type: 'GET'
指定了请求类型,但用你的Reqwest方法你没有。作为一种解决方案,第一个库视图显示您需要添加method: 'get'
://facebookreqwest ({url: google.com http://graph.facebook.com/http://,方法:"得到",类型:"JSONP",完成:function(data) {Var response = parse(data.response);如果(数据)。反应,,response.shares) {计数。Facebook = response.shares;}更新(fb);}});
XMLHttpRequest无法加载http://urls.api.twitter.com/1/urls/count.json?url=http://google.com。请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源'http://jsbin.com'。1:1
-
您正在尝试实现跨域请求,并且用于
jQuery
代码,因为您指定了dataType
与jsonp作为值。试试以下命令:// twitter reqwest({ url: 'http://urls.api.twitter.com/1/urls/count.json?url=http://google.com', type: 'JSONP', jsonpCallback: 'url', jsonpCallbackName: 'http://google.com', complete: function(data) { var response = parse(data.response); if (data.response && response.count) { count.tw = response.count; } update('tw'); } });
- Facebook分享没有选择完整的网址&自定义url的元名称
- 捕获Facebook分享/发布到FB事件
- Facebook分享深度链接 - Javascript
- Facebook分享按钮没有显示
- 通过jQuery的动态Facebook分享按钮
- 在Facebook分享后执行功能
- base64og:图片到facebook分享
- Facebook分享者未提供标题
- 在Facebook分享或取消后获得空白页
- 自定义链接在facebook分享帖子
- Facebook分享按钮直到刷新后才显示
- Facebook分享按钮在我的网页不工作
- 如何在ExtJS中添加Facebook分享按钮
- 如何使用Facebook分享按钮在我的网页上分享或发布一些东西到Facebook页面
- Javascript - WinRT -如何与twitter或Facebook分享分数
- Magnific弹出facebook分享按钮只需点击第二下
- 如何跟踪Facebook分享按钮在谷歌分析(Analytics .js)
- 内容是如何从元标签从我的粉丝页面在facebook分享检索
- facebook分享按钮与临时,非托管图像
- Facebook分享按钮和评论插件冲突