ajax函数不返回值

时间:2012-12-26 09:28:25

标签: javascript ajax function return-value

为什么这个javascript函数只返回'undefined'?我希望这返回真或假。 这是我的代码:

function Ajax() {
    var XML;
    if(window.XMLHttpRequest)
        XML=new XMLHttpRequest();
    else
        XML=new ActiveXObject("Microsoft.XMLHTTP");
    XML.onreadystatechange=function() {
        if(XML.readyState == 4 && XML.status == 200) {
                if(XML.responseText == '1') {
                        return true;
                } else {
                        return false;
                }
        }

        XML.open("POST","p.php", false);
        XML.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        XML.send("user=f");
}

我不知道为什么。

2 个答案:

答案 0 :(得分:1)

似乎是你的

if(XML.readyState == 4 && XML.status == 200)

不满意为什么它无法返回任何东西。要验证将其他return语句与else放在上面if条件。

答案 1 :(得分:1)

很可能是因为无法访问p.php,因此XML.status永远不会包含值200.请检查p.php的可访问性。