javascript - jQuery 对 Javascript 函数的请求

标签 javascript jquery c++ syntax error-handling

好吧,看看这些以提醒()。这是完整的代码:

function OfficialFacebookLikes(Title)
{
    $.getJSON('https://graph.facebook.com/'+Title, function(data) {
         alert(data['likes'].toString()); //<<temp
         return data['likes'].toString();
    });
}

$(document).ready(function(){
    $('.ui-btn').click(function(){ //cocacola
        var LikeCount = OfficialFacebookLikes("cocacola");
        alert(LikeCount);
    });
});

为什么

alert(LikeCount)

之前显示(显示时为“未定义”)
alert(data['likes'].toString())

在调用 alert(LikeCount) 之前,我调用了函数 OfficialFacebookLikes。有人可以解释为什么会这样。如果我的思维过程没有成功,因为...我习惯用 C++ 编码。

最佳答案

这是一个异步 Ajax 调用。在调用返回之前,您将无法获得数据。在您的文档就绪代码中,您正试图立即提醒来电。

相反,在 ajax 的回调处理程序中对结果集做任何你需要做的事情:

$.getJSON('https://graph.facebook.com/'+Title, function(data) {
         doSomethingWithMy(data);

    });

关于javascript - jQuery 对 Javascript 函数的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25090413/

相关文章:

javascript - Backbone Marionette 没有射击路线

javascript - 如何强制隐藏在我的页面上呈现的 div?

javascript - 从当前位置开始的 jquery 动画

c++ - 防止 C++ 异常使我的 Perl 脚本崩溃

c++ - 将 vector <vector<int>>作为平面数组访问

IE9 中 iframe 中的 JavaScript 代码不起作用

javascript - 尝试使用 if 和 else 添加类但无法正常工作

javascript - React + TypeScript : 'React' refers to a UMD global but the current file is a module. 考虑改为添加导入。 (理由)

javascript - 如何用纯 JavaScript 编写以下 JQuery 函数?

c++ - 为什么我需要使用动态内存分配,而我可以从静态中实现相同的目的?