Strophe.js Jabber 搜索 (XEP-0055)
Posted
技术标签:
【中文标题】Strophe.js Jabber 搜索 (XEP-0055)【英文标题】:Strophe.js Jabber Search (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 吗?
【问题讨论】:
【参考方案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'
【讨论】:
这个有效!但是有什么方法可以同时搜索多个字段吗? 是的,只需添加新字段。以上是关于Strophe.js Jabber 搜索 (XEP-0055)的主要内容,如果未能解决你的问题,请参考以下文章