我正在使用8th Wall SDK并尝试调用API。当我尝试通过AFrame.registercomponent onclick方法执行此操作时,请求未得到发送。
我是AR新手。当我尝试为xhttp添加警报消息时,它为空。
我想念什么?
是否有替代方法?
顺便说一句,我尝试使用Awe.js和AR标记一起完成此操作,
AFRAME.registerComponent('play-on-window-click', {
...
...
onClick: function(evt) {
var video = this.el.components.material.material.map.image;
// I'm sending a request from here - BEGIN
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.status == 200) {
this.responseText;
}
xhttp.open("GET", "https://myapi/rest/abc", true);
xhttp.send();
}
// END
video.play();
}
}
我希望对API的调用成功。
答案 0 :(得分:2)
xhttp.open
和xhttp.send
调用位于onreadystatechange
处理程序中,因此不会发送。这样的事情应该起作用:
AFRAME.registerComponent('play-on-window-click', {
...
...
onClick: function(evt) {
var video = this.el.components.material.material.map.image;
// I'm sending a request from here - BEGIN
var xhttp = new XMLHttpRequest();
http.onreadystatechange = function() {
if (this.status == 200) {
alert(this.responseText);
}
}
xhttp.open("GET", "https://myapi/rest/abc", true);
xhttp.send();
// END
video.play();
}
}