如何获取数据从返回json从Facebook API的封面图片
How to fetch data from returned jsonp from Facebook API for cover image
我有一个函数,它正在获取用户id并为封面图像调用FB图形API, API调用是正确的,我正在获取封面图像url,但该url没有存储在var timlineimagepath
中。我已经尝试了变量
var timelineimgpath;
function getFBTimelineImgPath(userid) {
var URL = 'https://graph.facebook.com/' + userid + '?fields=cover';
var path = $.ajax({
url: URL,
type: "GET",
dataType: "jsonp",
success: function (parsed_json) {
return (timelineimgpath = parsed_json["cover"]["source"]);
}
}
});
我从另一个函数中调用这个函数但是这里timelineimgpath
来了UNDEFINED
你面临的问题和别人一样:
- jQuery: ajax调用成功后返回数据
- 如何从异步调用返回响应?
实际上,您将无法从Ajax函数返回任何东西,因为Ajax是异步的。认为每个Ajax调用都需要时间,并且下一个语句不需要等待Ajax调用完成。
第一种解决方案:使用promise
var timelineimgpath;
function getCover(userid) {
return $.ajax({
url: 'https://graph.facebook.com/' + userid + '?fields=cover',
});
}
getCover("19292868552").done(function (data) {
/** You have to do everything you need with your data HERE */
timelineimgpath = data.cover.source;
alert(timelineimgpath); // <-- this is called after
});
/**
* You see that the data is not available
* The Facebook API query has not occured yet!
*/
alert(timelineimgpath); // <-- "undefined"
JsFiddle
第二个解决方案:使用回调
function getCover(callback, userid) {
$.ajax({
url: 'https://graph.facebook.com/' + userid + '?fields=cover',
success: callback
});
}
function doWithCover(data) {
/** You have to do everything you need with your data HERE */
alert(data.cover.source);
}
getCover(doWithCover, '19292868552');
JsFiddle
相关文章:
- 使用Facebook live API创建实时视频对象时的隐私设置
- Facebook Javascript API:'/我/相册'不适用于其他用户
- 使用FB.ui的Facebook Feed对话给出API错误191
- 使用api在facebook页面上发布图片或状态
- Backbone/Facebook API未按预期工作
- 实施Facebook's无用户身份验证的Graph API
- 使用FB.api在Facebook上发布消息
- 骨干Facebook API函数
- 如何将Facebook Graph API响应存储为Javascript数组
- 来自facebook图形API的响应中出错
- Facebook网络数据API和D3.JS
- Facebook API过滤用户活动,只显示指定的好友
- Facebook JavaScript API 是否适合创建用户帐户
- Facebook API:确定FB.ui发送方法的收件人数量
- 如何使用访问令牌与Facebook Graph API
- 使用Facebook api获取专辑封面
- 使用Facebook的javascript api发布多部分/表单数据编码的图像
- Facebook评论API - Facebook所说的“评论框背后”是什么意思
- 使用Graph API Facebook获取视频源URL
- 如何解析json在graph api facebook从http get