0

请多多包涵..我对ajax很陌生,我的代码有一些问题我的代码如下..我试图从我的servlet获取响应并使用警报显示它..谁能让我知道问题出在哪里用我的代码:

function checkempid(value) {
    var status = false;
    xmlHttp=GetXmlHttpObject();
    var urlemp="postemployee";
    urlemp=urlemp+"?employeeId="+value;
    xmlHttp.onreadystatechange=stateChangedemp ;
    xmlHttp.open("GET",urlemp,true);
    xmlHttp.send(null);

    function stateChangedemp() { 
        if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
            var showdata = xmlHttp.responseText;
            alert(showdata);

            **if(showdata=="Congratulations on your new account!"){
                alert("inside if");
                saveReportFinished(xmlHttp.responseText == 'complete');
            }**
            else{
                alert("inside else");
                saveReportFinished(false); 
            }
        }
    }

    function saveReportFinished(success) {
        if (success == true){
            status = true;
        }
        else {
            status = false;
        }
    }

    function GetXmlHttpObject(){
        var xmlHttp=null;
        try {
            xmlHttp=new XMLHttpRequest();
        }
        catch (e) {
            try {
                xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
        }

        return xmlHttp;
    }

    return status;
}

请查看我的粗体 if 语句。它永远不会进入 if 语句。它总是进入其他......谁能让我知道可能是什么问题?提前谢谢你。

4

1 回答 1

0

现在我猜这个 showdata 永远不会是“恭喜你的新帐户!” 可能有空格、html 格式或任何搞乱您尝试做的事情。

最好使用状态码来检测操作是否正常(如果可以,返回“201 - created”)。不能使用时使用 200(“确定”),未创建帐户时使用任何客户端错误代码。

如果您不能使用状态码,请尝试在响应上使用 xml 或 json 编码,这可以被解析并导致确定性结果

于 2012-07-11T06:25:22.173 回答