2012-03-14 3 views
1

У меня возникают проблемы с отправкой простого сообщения json другому пользователю xmpp с использованием строфы. Команда для создания сообщения:Сообщения Strophe и 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 ", " РЕЖИМ " Quot; КЛАВИАТУРУ "}

Я не могу сделать unescape с другой стороны, потому что это закрытый клиент.

Как отправить точно сообщение json на другую сторону?

Благодарим за помощь.

С наилучшими пожеланиями

ответ

0

Я изменил strophe.js:

t: function (text) 
{ 
    //var child = Strophe.xmlTextNode(text); 
    var child = Strophe.xmlGenerator().createTextNode(text); 
    this.node.appendChild(child); 
    return this; 
} 

и она отлично работает для меня.

0

RFC6121 гласит:

Элемент содержит символьные данные XML удобочитаемый, который определяет текстовое содержание сообщения.

и он также утверждает:

элемент НЕ ДОЛЖЕН содержать смешанный контент (как определено в разделе 3.2.2 [XML]).

Я не думаю, что ваш JSON меняется на строку.

Вы можете прочитать его здесь: http://xmpp.org/rfcs/rfc6121.html#message-syntax-body

Смежные вопросы