如何获取openfire服务器中所有房间的列表

时间:2016-06-27 10:47:49

标签: javascript xmpp cross-platform ngcordova strophe

有人可以指导我如何使用strophe.js检索openfire中所有可用房间的列表。我没有发现任何与此主题相关的真正有用的内容。 感谢

1 个答案:

答案 0 :(得分:2)

我花了几个小时才找到解决方案,但这比预期的要容易。我将添加这部分代码,因此可能有人将来需要它。

        getListRooms = function(server){
        var iq;
        iq = $iq({
          to: server,
          from: connection.jid,
          type: "get"
        }).c("query", {
          xmlns: Strophe.NS.DISCO_ITEMS
        });
      connection.sendIQ(iq.tree(), function (iq) {
        console.log(iq);
        if (!iq || iq.length == 0)
            return;
        //jquery load data after loading the page.This function updates data after jQuery loading
        $rootScope.$apply(function () {

            $(iq).find("item").each(function () {
//your function to update
 });
        });
        console.log('success, all rooms received'); }, function (err) { console.log('error, something went wrong with rooms receivig', err); });
    }