gpt4 book ai didi

javascript - 从 FB Api JavaScript 获取响应

转载 作者:行者123 更新时间:2023-11-30 10:43:36 25 4
gpt4 key购买 nike

我尝试结合 facebook api 请求获得函数返回。

var g_ret = true;

function uploadImagesFbCounter(anz){
var gid='';
$("div[id ^= 'gallerydetail']").each(function (i) {
gid = this.id.split('-');
gid = parseInt(gid[1]);
})
if(gid==0) return true;

FB.api('/me', function(response) {

  //console.log(response);
  var uid = response.id;

if(!anz){
g_ret = $.ajax({
type: "POST",
async:false,
url: "api/gallerie_anz_speich.php",
data: "uid="+uid+"&op=get&gid="+gid
});

if(g_ret.response >= 20) {
g_ret = false;
}
} else {
g_ret = $.ajax({
type: "POST",
async:false,
url: "api/gallerie_anz_speich.php",
data: "uid="+uid+"&op=set&gid="+gid
});
//console.log(g_ret.response);
g_ret = '<span style="padding:0 5px;">Noch '+(20-g_ret.response)+'Fotos</span>';
console.log(g_ret);
}
});

return g_ret;
}

无论我做什么,我得到的都是空洞的回应....请帮忙!

最佳答案

您使用的 API 是异步。你不能像那样从你的函数中返回一个值;在这种情况下这是不可能的。

相反,编写您的 API,以便其客户端将可调用函数传递给它。在 Facebook API 回调中,您可以调用该函数并将“g_ret”字符串传递给它。

function uploadImagesFbCounter(anz, callback){
// ...
FB.api('/me', function(response) {
// ...
callback(g_ret);
});
}

然后当你调用你的函数时,而不是:

var result = uploadImagesFbCounter( whatever );
// ... do something with result ...

你会这样做:

uploadImagesFbCounter( whatever, function( result ) {
// ... do something with result ...
});

关于javascript - 从 FB Api JavaScript 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com