xhttp请求功能不起作用

时间:2016-07-06 06:29:40

标签: javascript ajax

我有这段代码:

$(function(){
    var data = prepData([]);
    alert(data);
    //$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
});

function prepData(query){
    /* TODO: Later afmaken, van het ophalen van gegevens, data en omzetten json doet raar -_- */
    var xhttp;
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
             var response = xhttp.responseText;
             response = JSON.parse(response);
             //Here i know it works
             return response;
        }
    };
    xhttp.open("POST", "/getData", true);
    xhttp.send();
}

问题是当我在调用函数var data = prepData([])后尝试打印数据时,它会返回undefined,但是当我在onreadystatechange函数中打印它时,我就是标记机智在这里,我知道它的工作原理,我得到了正确的数据显示。

我认为问题是因为函数是异步的,它在onreadystatechange有机会返回任何内容之前完成,但我不知道如何防止它。

0 个答案:

没有答案