Strophejs 获得名册成功回调响应
Strophejs get roster success callback response
我有这些功能可以让我在 ejabberd 服务器上获取花名册。
function callback(){
alert('hi');
}
function getInfo(){
var iq = $iq({type: 'get'}).c('query', { xmlns: Strophe.NS.ROSTER });
conn.sendIQ(iq, callback);
}
请求成功,因为我有一个警报。我的问题是如何处理服务器的响应?我可以在 Wireshark 上看到以下响应:
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns='jabber:client'
from='azerty@localhost' to='azerty@localhost/24988088151432746377322003' id='4:sendIQ'
type='result'><query xmlns='jabber:iq:roster'>
<item subscription='both' jid='user1@localhost'><group>EveryBody</group></item>
<item subscription='both' jid='user2@localhost'><group>EveryBody</group></item>
<item subscription='both' jid='user2@localhost'><group>EveryBody</group></item>
</query></iq></body>
我想获取包含 user1、user2、user3 的列表。
关于如何至少访问像 xhr 这样的响应的任何建议?
更新您的回调函数以包含 iq。
function callback(iq) {
iq.each(function (o) {
if (o.subscription === 'both') {
var jid = Strophe.getNodeFromJid(o.jid);
//do whatever
} else{
//do something else
}
})
}
我已经像这样更改了回调函数:
function callback(iq){
$(iq).find('item').each(function(){
var jid = $(this).attr('jid');
alert(jid);
});
}
效果不错..
我有这些功能可以让我在 ejabberd 服务器上获取花名册。
function callback(){
alert('hi');
}
function getInfo(){
var iq = $iq({type: 'get'}).c('query', { xmlns: Strophe.NS.ROSTER });
conn.sendIQ(iq, callback);
}
请求成功,因为我有一个警报。我的问题是如何处理服务器的响应?我可以在 Wireshark 上看到以下响应:
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns='jabber:client'
from='azerty@localhost' to='azerty@localhost/24988088151432746377322003' id='4:sendIQ'
type='result'><query xmlns='jabber:iq:roster'>
<item subscription='both' jid='user1@localhost'><group>EveryBody</group></item>
<item subscription='both' jid='user2@localhost'><group>EveryBody</group></item>
<item subscription='both' jid='user2@localhost'><group>EveryBody</group></item>
</query></iq></body>
我想获取包含 user1、user2、user3 的列表。
关于如何至少访问像 xhr 这样的响应的任何建议?
更新您的回调函数以包含 iq。
function callback(iq) {
iq.each(function (o) {
if (o.subscription === 'both') {
var jid = Strophe.getNodeFromJid(o.jid);
//do whatever
} else{
//do something else
}
})
}
我已经像这样更改了回调函数:
function callback(iq){
$(iq).find('item').each(function(){
var jid = $(this).attr('jid');
alert(jid);
});
}
效果不错..