首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ajax调用后呈现“like”按钮

在ajax调用后呈现“like”按钮
EN

Stack Overflow用户
提问于 2012-01-22 21:57:24
回答 1查看 17.2K关注 0票数 18

堆栈上有几个与我的问题类似的问题,但没有一个回答我的问题,所以...

ajax调用返回用于创建like按钮的标准html代码:

代码语言:javascript
复制
<div class="fb-like" data-href="http://www.website.com" data-send="true" data-width="450" data-show-faces="true"></div>

当使用'inspect element‘查看时,此html确实会显示在源代码中,但它不会呈现,即按钮应该位于的空间是空的。有没有我应该使用的渲染函数?

如有任何提示,我们将不胜感激!

编辑:这是ajax请求和解析--“喜欢”按钮和一些其他文本一起放在“# the request”中(它是从question.php回显的)。

代码语言:javascript
复制
$("#thequestion").load("/thought/question.php", { ans: choice, id: questionId } );
    $("#graph").load("/thought/graph.php", { id: questionId } );
    $("#fbCommentsPlaceholder").html("<div class='fb-comments' data-href='http://qanai.com/thought/#" + questionId + "' data-num-posts='2' data-width='470'></div>");
    FB.XFBML.parse();
    eval(document.getElementById('thequestion').innerHTML);
    eval(document.getElementById('graph').innerHTML);

(我知道eval是邪恶的)

编辑2:如果在ajax调用之后手动执行FB.XFBML.parse(); (在控制台中),则会出现like按钮。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-22 22:01:39

您必须在ajax调用之后调用FB.XFBML.parse();

文档:https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/

编辑:现在我看到您正在尝试将内容加载到$('#thequestion')中。.load接受在请求完成后运行的回调。你应该这样做:

代码语言:javascript
复制
$('#thequestion').load('/my/url', { my: 'params' }, function() {
    FB.XFBML.parse();
});

文档:http://api.jquery.com/load/

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8961567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档