【问题标题】:Strophe.js Jabber Search (XEP-0055)Strophe.js Jabber 搜索 (XEP-0055)
【发布时间】:2013-09-11 21:07:49
【问题描述】:

我试图弄清楚如何使 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 吗?

【问题讨论】:

    标签: xmpp strophe


    【解决方案1】:
        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);
    

    注意:收件人:characters.shakespeare.lit

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

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

    【讨论】:

    • 这个有效!但是有什么方法可以同时搜索多个字段吗?
    • 是的,只需添加新字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2015-10-25
    • 2014-08-11
    • 1970-01-01
    相关资源
    最近更新 更多