XMPP onRoster名称属性未显示

时间:2014-01-03 23:45:45

标签: javascript xmpp openfire strophe

我正在使用strophe.js(javascript)和openfire作为服务器构建一个XMPP聊天应用程序。

申请工作正常;但是,我无法设置为收集的Rosters显示name属性。名称是未定义的,或者显示名册的jid。

XMPP数据库中存储的名称在哪里?如何更改?我应该在memeber表中添加所有xmpp用户都存储的名称吗?

2 个答案:

答案 0 :(得分:1)

您可以使用strophe.js设置联系人姓名。只需发送此查询:

<iq from='juliet@example.com/balcony'
       id='gb3sv487'
       type='set'>
     <query xmlns='jabber:iq:roster'>
       <item jid='romeo@example.net'
             name='MyRomeo'/>
     </query>
   </iq>

Strophe.js:

var query = $iq({type: 'set'}).c('query', {xmlns: 'jabber:iq:roster'}).c('item', jid: 'jid@domain.com', name: 'JoeDoe')     
        connection.sendIQ(query, function success(response) {
            console.log(response); // for debugging purposes
        });

答案 1 :(得分:1)

这是Javascript:

var iq = $iq({type: 'set'}).c('query', {xmlns: 'jabber:iq:roster'}).c("item",  {jid:'romeo@example.net',name:'MyRomeo'});
con.sendIQ(iq);

con.send($pres({to: 'test@test.com', type: "subscribe"}))