Strophe.js Jabber搜索(XEP-0055)

时间:2013-09-11 21:07:49

标签: xmpp strophe

我试图弄清楚如何让Strophe.js与XEP-0055插件一起使用。所以我想我首先必须确定服务支持哪些搜索字段,然后我必须发送实际请求:

<iq type='set'
    from='romeo@montague.net/home'
    to='characters.shakespeare.lit'
    id='search2'
    xml:lang='en'>
  <query xmlns='jabber:iq:search'>
    <last>Capulet</last>
  </query>
</iq>

但是如何将其翻译成Strophe.js查询?这是我的尝试:

$iq({to: 'characters.shakespeare.lit', 
from: 'romeo@montague.net/home', 
type: 'set', 
id: 'search2'}).c('query', {xmlns: 'jabber:iq:search'}).t("last", search_query)

我究竟需要发送什么,例如

to:characters.shakespeare.lit - 是我正在使用的XMPP服务的地址?例如。 jabber.org

来自:romeo@montague.net/home - 这是我在服务器上的ID吗?

1 个答案:

答案 0 :(得分:2)

    var iq = $iq({
          type: 'set',
          id: 'search2',
          to: 'vjud.yourserver.org'
    })
.c('query', {xmlns: 'jabber:iq:search'})
.c('x', {xmlns: 'jabber:x:data', type:'submit'})
.c('field', {var: 'first'}).c('value','Rub*').up(); 
conn.sendIQ(iq);

注意: to:characters.shakespeare.lit

不是您的服务器,而是vcard服务搜索。

.c('field',{var:'first'})如果有任何错误将var更改为'var'