如何使用JSJAC XMPP客户端查询名单

时间:2010-04-02 07:38:42

标签: xmpp

如何使用JSJAC XMPP客户端查询完整的名单?我已经尝试了以下功能,但它不起作用:

function getRoster(con){
    var roster = new JSJaCIQ();
    roster.setIQ(null, 'get', 'roster_1');
    roster.setQuery(NS_ROSTER);
    con.send(roster);
 }

2 个答案:

答案 0 :(得分:2)

而不是con.send,请尝试:

con.sendIQ(roster, {result_handler: function(aIq, arg) {
    var node = aIq.getQuery()
    // do something with roster
  });

您需要在返回名单时触发回调。要完成,还要设置error_handler,以防返回IQ错误或超时。

答案 1 :(得分:0)

很抱歉对这个老问题发表评论,在“JSJAC名单”中,谷歌在谷歌中排名第一,而上述答案对我没有用。我不知道JSJaC API中是否有任何变化,但我收到了iq错误'service-unavaliable'。我不得不改用这段代码:

var rosterRequest = new JSJaCIQ();
rosterRequest.setType('get');
rosterRequest.setQuery(NS_ROSTER);
connection.send(rosterRequest);

(所以没有域名设置,没有id设置 - 只是类型和名称空间)。