Невозможно получить ответ от API в Javascript - PullRequest
0 голосов
/ 24 сентября 2018

Я использую приведенный ниже код для захвата ответа, но не могу получить, пожалуйста, дайте мне знать, что мне здесь не хватает.

function testcall() {
    var request = new XMLHttpRequest();
    request.open('GET', 'http://demo8951713.mockable.io/fusionchart', true);
    request.send();
    var response = this.responseText;
    alert(response);
}

testcall()

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

вам не хватает функции обратного вызова

request.onreadystatechange = function() {
    if (xhr.readyState === 4) {
        callback(xhr.response);
    }
}

для получения более подробной информации см. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response#Example

0 голосов
/ 24 сентября 2018

У вас есть две проблемы.

Во-первых, this (в том контексте, в котором вы его используете) не относится к вашему объекту XHR.

Во-вторых, вы пытаетесь прочитатьответ, как только запрос был отправлен.Вам нужно подождать, пока браузер не получит ответ!

request.addEventListener("load", function () {
    var response = this.responseText;
    alert(response);
});

Это изменение (перемещение кода в обработчик событий) также помещает this в контекст, где оно ссылается на правильный объект.


Как только вы исправите это, вы, вероятно, захотите попытаться вернуть значение.Прежде чем сделать это, прочитайте этот вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...