在ajax调用后渲染“喜欢”按钮

前端之家收集整理的这篇文章主要介绍了在ajax调用后渲染“喜欢”按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有几个问题类似于我的堆栈,但没有一个回答我的问题,所以…

ajax调用返回用于创建类似按钮的标准HTML代码

<div class="fb-like" data-href="http://www.website.com" data-send="true" data-width="450" data-show-faces="true"></div>@H_301_4@ 
 

当使用’inspect element’查看时,这个html确实显示在源中,但没有呈现,即按钮应该是空白的空格。有没有一些我应该使用的渲染功能

任何提示都将不胜感激!

编辑:这是ajax请求和解析 – “喜欢”按钮与一些其他文本一起放入’#thequestion'(它从question.PHP回显)。

$("#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);@H_301_4@ 
 

(我知道eval是邪恶的)

编辑2:如果FB.XFBML.parse();在ajax调用之后手动执行(在控制台中)。
谢谢

你必须调用FB.XFBML.parse();之后的ajax电话。

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

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

$('#thequestion').load('/my/url',{ my: 'params' },function() {
    FB.XFBML.parse();
});@H_301_4@ 
 

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

原文链接:https://www.f2er.com/ajax/160296.html

猜你在找的Ajax相关文章