XMLHttpRequest()返回函数中的响应

时间:2014-11-13 05:31:35

标签: javascript php ajax xmlhttprequest

我有一个函数isOnline(),它看起来像这样:

function isOnline() {
    var request=new XMLHttpRequest(); 

    request.onreadystatechange=function() {
        if(request.readyState==4) {
            if(request.responseText=="online")
                return true;    
        }    
    }
    request.open("GET","onlinecheck.php?user=user",false);
    request.send();

    return false;
}

如果我运行document.write(isOnline());进行测试,我总是会弄错,(如果我不写return false;,则不定义,我未定义。

如何在readyState为4之前“等待”并在此之后返回true?

1 个答案:

答案 0 :(得分:1)

你需要关注一些事情:


如果您决定同步执行此操作:

function isOnline() {
    var request=new XMLHttpRequest(); 

    request.open("GET","www.google.com/",false);
    request.send();

    /* check the readyState, you can also check for status code */
    if (request.readyState === 4)
        // put other conditions here if you need to    
        return true;
    else
        return false;
}

// It returns true