无法捕获Java API中的响应

时间:2018-09-24 12:36:06

标签: javascript rest

我正在使用下面的代码来捕获响应,但无法获取,请让我知道我在这里缺少什么。

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 :(得分:4)

您有两个问题。

首先,this(在您使用的上下文中)没有引用您的XHR对象。

第二,您尝试在发送请求后立即读取响应。您必须等待浏览器收到响应!

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

所做的更改(将代码移动到事件处理程序中)还将this置于引用正确对象的上下文中。


修复此问题后,您可能想尝试返回该值。在您这样做之前,请read this question

答案 1 :(得分:0)

您缺少回调函数

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

有关更多详细信息,请参见https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response#Example