我正在尝试弄清楚如何使 Strope.js 与 XEP-0055 插件一起使用。所以我想我首先必须确定该服务支持哪些搜索字段,然后我必须发送实际的请求:
<iq type='set'
from='<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a7865676f654a6765647e6b6d7f6f24646f7e" rel="noreferrer noopener nofollow">[email protected]</a>/home'
to='characters.shakespeare.lit'
id='search2'
xml:lang='en'>
<query xmlns='jabber:iq:search'>
<last>Capulet</last>
</query>
</iq>
但是如何将其转换为 Strope.js 查询呢?这是我的尝试:
$iq({to: 'characters.shakespeare.lit',
from: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c6b4a9aba3a986aba9a8b2a7a1b3a3e8a8a3b2" rel="noreferrer noopener nofollow">[email protected]</a>/home',
type: 'set',
id: 'search2'}).c('query', {xmlns: 'jabber:iq:search'}).t("last", search_query)
我到底需要发送什么,例如
to:characters.shakespeare.lit - 是我正在使用的 XMPP 服务的地址吗?例如。 jabber.org
来自:[email protected]/home - 这是我在服务器上的 ID 吗?
最佳答案
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'
关于xmpp - Strope.js Jabber 搜索 (XEP-0055),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751307/