我在使用strophe向其他xmpp用户发送简单的json消息时遇到问题。创建消息的命令:
var json_stringified_msg = '{"type":"ola"}';
var reply = $msg({to: this.m_user, from: this.jid_connection, type: 'chat'}).c("body").t(json_stringified_msg);
connection.send(reply.tree());
问题是客户在聊天中收到的另一方面: {“ACTION”quot; CHANGE_MODE“,”MODE“quot; KEYBOARD”}
由于它是一个封闭的客户,我不能从另一方面进行unescape。
如何将json消息准确发送到另一方?
感谢您的帮助。
最好的问候
答案 0 :(得分:1)
RFC6121声明:
该元素包含人类可读的XML字符数据,用于指定消息的文本内容。
并且还声明:
元素不得包含混合内容(如[XML]第3.2.2节中所定义)。
我不认为你的JSON会变成一个字符串。
您可以在此处阅读:http://xmpp.org/rfcs/rfc6121.html#message-syntax-body
答案 1 :(得分:0)
我修改了strophe.js:
t: function (text)
{
//var child = Strophe.xmlTextNode(text);
var child = Strophe.xmlGenerator().createTextNode(text);
this.node.appendChild(child);
return this;
}
它对我来说很好。