【发布时间】:2021-09-27 02:57:54
【问题描述】:
在 node.js 上,我有一个像这样的文件:
data().then(v => {
socket.country = d.country;
onlineusers += d.name+'<br>';
我打算用<br> 换行,但它被解析为纯文本。如何在我的字符串中包含 html?
【问题讨论】:
-
字符串就是这样 - 字符串。当它们被设置时,它们不会被解释为任何 HTML;这完全取决于您在下游如何使用这个值。您的数据究竟在哪里被解析?另见:How to Ask
-
像这样:
io.emit('login', { onlineusers: onlineusers }); -
好吧,这不是它被解析为 HTML 的地方。该字符串的内容在哪里被解析?假设它是在套接字的另一端接收的,那么内容是如何被解析并“绘制”到那里的用户界面中的?相关的代码是什么? (请在您的问题正文中包含代码,因为它对于该问题的未来访问者来说更具可读性和可见性)
-
HTML 只有在它是真正的 HTML 时才应该使用。您应该更好地设计您的数据模型来表示您的数据,仅当数据即将显示在页面中时才将数据转换为 HTML。在我看来,您应该将
onlineusers设为一个字符串数组。然后使用onlineusers.push(d.name)添加一个项目。当您准备好显示数据时,使用onlineusers.join("<br>")生成要插入的 HTML。 -
客户端是这样的:
socket.on('login', (data) => { userlist.textContent = data.onlineusers;
标签: javascript node.js