javascript - 在 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
解决方案
推荐阅读
- ldap - ldap 支持多少节点复制 redhat 7.9
- reactjs - 使用 react-hook 在 safari 上设置动态图标
- arrays - Swift - 使用布尔值和可选日期对人员数组进行排序
- scala - 在 spark-scala 中为每个记录组添加页眉和页脚
- xml - 从同样具有 lz4 压缩的 xml 解码 base64
- reactjs - 当 const 数组改变时可以使用 useEffect 更新
- python - 将熊猫数据框的列乘以不同的标量
- django - 带有自定义表单的 Django Admin;计算字段不在表单中
- c++ - 覆盖 + 运算符和 += 运算符
- apache-spark - 如何在 Spark sql 中将 DDMMMYYYY HH:mm:ss:ssssss 格式的时间戳更改为 yyyy-MM-dd 格式