-1

なぜこのJavaScript関数は単に「未定義」を返すのですか? これが true または false を返すようにします。これが私のコードです:

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");
}

理由がわかりません。

4

2 に答える 2

1

あなたのようです

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

なぜ何も返すことができないのかということに満足していません。確認するには、上記の if 条件に、else を使用して他の return ステートメントを配置します。

于 2012-12-26T09:34:52.003 に答える
1

ほとんどの場合p.php、 に到達できないためXML.status、値 200 が含まれることはありません。 の到達可能性を確認してくださいp.php

于 2012-12-26T09:36:04.030 に答える