javascript - 有没有办法将 javascript 对象转换为字符串?
问题描述
我正在构建一个简单的聊天应用程序,并想用欢迎消息迎接新用户,但我看到的只是 [object Object]。连接正常。该怎么办?
这是我用来建模消息的消息对象
const generateMessage = (text) => {
return {
text,
createdAt: new Date().getTime()
}
}
module.exports = {
generateMessage
}
这是我的连接
io.on("connection", (socket) => {
console.log("New socket connection")
socket.emit("message", generateMessage("Welcome to the chat"))
socket.broadcast.emit("message", "A new user has joined",)
socket.on("sendMessage", (message, callback) => {
io.emit("message", message)
callback()
})
socket.on("disconnect", () => {
io.emit("message", "A user has left")
})
})
这是我将消息呈现给浏览器的html
<body>
Chat app
<div id="messages"></div>
<form id="message-form">
<input name="message" placeholder="Message">
<button>Send</button>
</form>
<template id="message-template">
<p></p>
</template>
<script src="/socket.io/socket.io.js"></script>
<script src="../chat/chat2.js"></script>
</body>
解决方案
在您的客户端(html 文件)中,您应该创建消息访问对象的文本属性:
const htmlMessageText = messageObjReceivedFromSocket.text
不传递对象本身。
如果发布您如何处理客户端上的套接字事件,它将更容易帮助您。
推荐阅读
- function - OpenLayers 3 Style Function 用于动态特征字体设置
- java - 使用java代码将textview与父级对齐
- python - Python:从子类的类方法中访问类名
- javascript - JS 函数 - 从另一个函数调用时重新加载 iframe 的函数不会刷新
- php - MONGODB - 语法错误,使用 $in 运算符的意外“{”查找方法
- javascript - 测试指令元素时未定义父级
- android - 将 ConstraintLayout 更新到 1.1.0 后的 Android UI 问题
- vba - 创建 VBA 以更改多个数据透视表中的数据源时出错
- oracle - sql developer导出数据库-没有要导出的对象
- angular - 允许 nginx 服务器中的静态内容的 POST 请求