如何使用JSJAC XMPP客户端查询花名册
如何使用JSJAC XMPP客户端查询完整的花名册?我为此尝试了以下功能,但不起作用:如何使用JSJAC XMPP客户端查询花名册,xmpp,Xmpp,如何使用JSJAC XMPP客户端查询完整的花名册?我为此尝试了以下功能,但不起作用: function getRoster(con){ var roster = new JSJaCIQ(); roster.setIQ(null, 'get', 'roster_1'); roster.setQuery(NS_ROSTER); con.send(roster); } 请尝试以下操作,而不是con.send: con.sendIQ(roster, {result_
function getRoster(con){
var roster = new JSJaCIQ();
roster.setIQ(null, 'get', 'roster_1');
roster.setQuery(NS_ROSTER);
con.send(roster);
}
请尝试以下操作,而不是con.send:
con.sendIQ(roster, {result_handler: function(aIq, arg) {
var node = aIq.getQuery()
// do something with roster
});
您需要有一个回调,在返回花名册时触发。为了完整起见,还需要设置一个错误处理程序,以防IQ错误被返回或超时。很抱歉对这样的老问题发表评论,但这会在“JSJAC花名册”上的谷歌上弹出一个结果,上面的答案对我不起作用。我不知道JSJaC API中是否发生了变化,但是我收到了iq错误“服务不可用”。我不得不使用以下代码:
var rosterRequest = new JSJaCIQ();
rosterRequest.setType('get');
rosterRequest.setQuery(NS_ROSTER);
connection.send(rosterRequest);
(因此没有域设置和id设置,只有类型和名称空间)。我刚刚更改了行:花名册.setIQ(null,'get','花名册1');使用花名册.setIQ(con.domain,'get','floster_1');现在它可以工作了。我已经有了一个IQhandler来处理响应。