从MySQL DB中检索消息 - Strophe / EJabberd

时间:2016-05-10 11:57:56

标签: javascript mysql xmpp ejabberd strophe

我成功地将消息存储在表archive中,但我不确切知道如何检索它们并在打开对话时将它们绘制在屏幕上。 我在点击联系人时尝试发送此iq:

    var iq =  $iq({type: 'set'}).c('query', {xmlns: 'urn:xmpp:mam:1'}).
 c('x',{xmlns:'jabber:x:data',type:'submit'}).c('field',{var:'FORM_TYPE',type:'hidden'})
 .c('value','urn:xmpp:mam:1').up().up().c('field',{'var':'with'}).c('value',userID);`

创建了这个:

<iq type="set" xmlns="jabber:client">
<query xmlns="urn:xmpp:mam:1">
  <x xmlns="jabber:x:data" type="submit">
   <field var="FORM_TYPE" type="hidden">
     <value>urn:xmpp:mam:1</value>
   </field>
   <field var="with">
     <value>"to@jid"</value>
   </field>
  </x>
 </query>
</iq>

我也试过这个:

conn.mam.query("from@jid", {
      "with": "to@jid",
      onMessage: function(message) {
                console.log("Message from ", $(message).find("forwarded message").attr("from"),
                    ": ", $(message).find("forwarded message body").text());
                return true;
      },
      onComplete: function(response) {
                console.log("Got all the messages");
      }
        });

但他们都没有给我任何合作。

那么,我该如何获取这些消息呢?

此致!!

修改 我得到的就是这个:

<iq from='me@jabber.local' to='me@jabber.local/42842339324235106273178' type='result'>
    <fin xmlns='urn:xmpp:mam:1' complete='true'>
        <set xmlns='http://jabber.org/protocol/rsm'>
            <first>1462872928907929</first>
            <last>1462948310651516</last>
            <count>6</count>
        </set>
    </fin>
</iq>

0 个答案:

没有答案