0

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 への呼び出しが成功することを期待しています。

4

1 に答える 1

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();
  }
}
于 2019-04-05T17:05:35.983 に答える