如何使用JSJAC XMPP客户端查询完整的名单?我已经尝试了以下功能,但它不起作用:
function getRoster(con){
var roster = new JSJaCIQ();
roster.setIQ(null, 'get', 'roster_1');
roster.setQuery(NS_ROSTER);
con.send(roster);
}
答案 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设置 - 只是类型和名称空间)。