Aframe: привязка асинхронных данных в Aframe с использованием ответа API

Я пытаюсь выяснить, можем ли мы интегрировать ответ API в сцену Aframe. Например, я хочу получить информацию об объекте сущности, когда наведу на него курсор. Я знаю, что мы можем поддерживать эти статические данные с помощью a-text, но я ищу интеграцию на основе AJAX, чтобы я мог добавлять / редактировать данные из бэкэнда.

Пожалуйста, порекомендуйте.


person Sangamesh Mysore    schedule 11.06.2018    source источник


Ответы (1)


Вы можете использовать настраиваемый компонент, который будет захватывать текст и использовать его как значение <a-text>. Выполните вызов AJAX внутри прослушивателя событий (например, щелчок или любой другой):

AFRAME.registerComponent("foo", {
  init: function() {
    let self = this.el
    this.el.addEventListener("click", (e)=>{
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          self.children[0].setAttribute("value", this.responseText;
        }
      };
      xhttp.open("GET", "ajax_info.txt", true);
      xhttp.send();
    })
  }
})

В такой настройке:

<a-entity foo>
  <a-text></a-text>
</a-entity>

Что-то вроде this, кроме вызова ajax, я взял код ajax из w3schools.

person Piotr Adam Milewski    schedule 12.06.2018