发送消息时报错Converting circular structure to JSON
这句话我也在网上查了一下,导致的原因可能是里面存在多级递归,导致JSON很大,不能使用。这是为什么呢,请看代码:
// 单聊发送文本消息
var sendPrivateText = function (user,msg) {
var id = conn.getUniqueId();// 生成本地消息id
var msg = new WebIM.message('txt', id);// 创建文本消息
msg.set({
msg: msg, // 消息内容
to: user, // 接收消息对象(用户id)
roomType: false,
success: function (id, serverMsgId) {
console.log('send private text Success');
}
});
msg.body.chatType = 'singleChat';
console.log(msg.body);
conn.send(msg.body);
};
细心的你发现了吗???
没错!!! 是 msg
msg.set({msg: msg,}) 这里有三个msg,我想做的是将function (user,msg) 里面的形参 msg传过来,就是这里的第三个msg,可是它可不这么干,把第三个msg理解成第一个msg,结果里面就一直套下去,导致msg不是我想要的,而是递归的形式。