Я написал (на данный момент просто заурядный) класс Ajax в Javascript для получения запросов.Я хочу вызвать этот метод Ajax.get () из другого класса, который вставляет xhr.responseText в некоторый контент, такой как оповещение модального oder.К сожалению, я не могу решить проблему передачи этого responseText в функцию моего другого класса, поскольку ключевое слово this имеет неправильную область видимости, а переменная xhr недоступна извне функции.
Пока у меня естьвсе испортил, но я не смог найти способ решить мою проблему.
class Ajax
{
static get ({url, target, success = () => {})
{
let xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = function ()
{
if ( this.status == 200 )
{
success(this.responseText);
// do something yet undefined with the responseText
}
}
xhr.send();
}
}
class Modal
{
static createModal (body)
{
// creates a Modal with the value of "body", e.g.
alert(body);
}
static getModal( )
{
let modalBody = Ajax.get
({
url : 'text.txt',
success : Modal.createModal(/*???*/);
});
}
}
</script>
<button onclick="Modal.getModal()">Get dnamic Modal</button>
Я хочу, чтобы модальный (simplefied: alert) имел текст из xhr Ajax.get ().ответ.Поэтому мне нужно передать неизвестную переменную или сделать что-нибудь еще.Ближайший успех до сих пор был «неопределен» (т. Е. Нет синтаксиса / ошибки синтаксического анализа).