0

我一直在用这个功能拉头发。这是一个函数中的一个函数,这就是为什么我认为它没有返回任何东西,代码如下:

function getEventImageNormal(data) {
    $.getJSON("https://graph.facebook.com/fql?access_token=" + access_token + "&q=SELECT pic FROM event WHERE eid=" + data, function(data){
        console.log(data.data[0].pic);
        return data.data[0].pic;
    });
}

正确的项目,图像的 URL,被设置到控制台日志,但没有被返回?

如果有人想知道为什么我不使用https://graph.facebook.com/object_id/picture来获取事件图像,那是因为此功能当前不起作用,唯一的方法是使用 FQL 获取事件图像。

4

2 回答 2

2

默认情况下getJSON()执行异步调用。您可以直接在成功回调处理程序中调用函数来处理响应。

$.getJSON("https://graph.facebook.com/fql?access_token=" + access_token + "&q=SELECT pic FROM event WHERE eid=" + data, function(data){
    console.log(data.data[0].pic);
    getResponse(data);
});

function getResponse(data) {
    // handle your data here.
}
于 2012-06-20T01:55:47.820 回答
0

您需要在callback=?url 中添加参数,让远程 url 和 jQuery 知道这是一个jsonp调用。如果只发送json,则违反跨域安全策略,浏览器不会接受它进入DOM。

由于 ajax 的异步特性,这是在请求的成功回调中处理数据的补充。

 var data=/* your value*/
 $.getJSON("https://graph.facebook.com/fql?callback=?&access_token=" + access_token + "&q=SELECT pic FROM event WHERE eid=" + data, function(data){
 /* process data here*/

 })
于 2012-06-20T03:08:32.160 回答