Strophe 라이브러리를 사용하여 사용자의 명부를 요청하기 위해 IQ 스탠자를 보내려고합니다. Strophe는이 기능을 sendIQ이라고합니다.Strophe로 XMPP IQ 스탠자를 보내려고합니다
이let iq_str = "<iq type='get' id='roster1'><query xmlns='jabber:iq:roster'/></iq>";
let parser = new DOMParser();
let iq = parser.parseFromString(iq_str, "text/xml");
XMPP.conn.sendIQ(iq, onRoster);
그러나, TypeError: e.getAttribute is not a function
오류와 var id = elem.getAttribute('id');
라인 좌향 선회의 sendIQ 기능 충돌, (내가 제대로 이해한다면) 때문에, iq
는 XML 요소되지 않습니다 :
약간의 검색 후, 나는이 대신 수행하여 충돌을 피할 수 있었다 :
let iq_str = "<iq type='get' id='roster1'><query xmlns='jabber:iq:roster'/></iq>";
let parser = new DOMParser();
let iq = parser.parseFromString(iq_str, "text/xml").getElementsByTagName("iq")[0];
XMPP.conn.sendIQ(iq, onRoster);
을하지만이 iq
통과에 쿼리를 지정 아니에요 이후 분명히 어떤 응답을받을 수없는 경우이 방법 변하기 쉬운.
나는 아주 사소한 것을 놓치고 있어야한다는 느낌이 들지만 나는 잠시 붙어있다. 모든 예제에서 jQuery를 사용했지만 사용하지 않고도 솔루션이 있어야한다고 생각합니다.
내 나쁜,'getElementsByTagName'는 IQ가 정확했다, 그래서 자식 요소를 반환한다. 문제는 콜백'onRoster'에 오류가있어서 통지하지 못했습니다. –