首页 > 解决方案 > 在 AJAX 成功上解析 BBCode

问题描述

我在这里尝试在 AJAX 成功时解析 BBCode:item.message 对象。我正在使用 jQuery 1.11。我尝试通过 var 结果代替 item.message,并且只显示 [object] 错误。我试过用 XBBCODE 和同样的东西包装 item.message。

我不知道该怎么做,否则脚本很棒。我们必须将 bbcode 解析为 HTML 或可以在 PHP 端管理的方法,但我认为这在 JSON 数据上是不可能的。

目前这是我的 jQuery 代码:

$(document).ready(function () {
        $.ajax({
            url: "/ajax/shoutbox.php",
            method: "GET",
            dataType: 'JSON',
            success: function (data) {
                var html_to_append = '';
                $.each(data, function (i, item) {
                    // Object array repeated - not working
                    var result = XBBCODE.process({
                    text: 'item.message',
                    removeMisalignedTags: false,
                    addInLineBreaks: false
                    });
                    /*
                    currentPost = jQuery(this);
                    postHTML = bbcodeToHTML(currentPost.html());
                    currentPost.html(postHTML);
                    */
                    html_to_append +=
                        '<div class="shoutbox-container"><span class="shoutDate">' +
                        jQuery.timeago(item.date) +
                        ' <span style="color:#b3b3b3">ago</span></span><span class="shoutUser"><img src="' +
                        item.avatar +
                        '" class="shout-avatar" /></span><span class="shoutText">' +
                        item.message +
                        '</span></div><br>';
                });
                $("#shoutbox").html(html_to_append);
                $(".shoutbox-container").filter(function () {
                    return $(this).children().length == 3;
                }).filter(':odd').addClass('shoutbox_alt');
                $(".shoutbox-container").each(function () {
                    $(this).parent().nextAll().slice(0, this.rowSpan - 1).addClass('shoutbox_alt');
                });

            }
        });
    });

如您所见,我正在尝试使用以下 javascript:

https://github.com/patorjk/Extendible-BBCode-Parser

在进入上面的 JS 之前,我已经完全按照说明进行操作,但都没有成功。我明白了:

[对象][对象]

对于返回的消息对象的每次迭代(它是一个自定义的 AJAX 喊话框)。

评论,你可以看到我尝试过的另一种方法没有成功。任何帮助表示赞赏!

更新:工作

谢谢Quiet Nguyen建议用result.html替换item.message并更新text: object

标签: javascriptjqueryajaxparsingbbcode

解决方案


推荐阅读