等待来自JS的get请求响应不起作用

时间:2017-03-30 18:47:00

标签: javascript get request

在我的javascript代码中,我有:

function getThing(){
    var url = "myhost/thing";
    var x = new XMLHttpRequest();
    x.open("GET", url, false);
    x.onload = function (){
        return x.responseText
    }
    x.send(null);
}

console.log(getThing())

console log给了我undefined

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的HTTP请求是异步执行的,getThing除了undefined之外没有返回任何内容。相反,您的onload处理程序正在返回未使用的请求值。

相反,您需要等待记录,直到调用返回:

function getThing(){
    var url = "myhost/thing";
    var x = new XMLHttpRequest();
    x.open("GET", url);
    x.onload = function (){
        console.log(x.responseText);
    }
    x.send(null);
}

getThing();