0

我是 ajax 新手。请多多包涵。我的代码如下:

函数 checkempid(){

    var status;
    xmlHttp=GetXmlHttpObject();
    var urlemp="postemployee";
    urlemp=urlemp+"?employeeId="+document.PostAvailableBench.employeeId.value;
    xmlHttp.onreadystatechange=stateChangedemp ;
    xmlHttp.open("GET",urlemp,true);
    xmlHttp.send(null);
    var showdata;

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

     if(showdata.trim()=="available"){
        alert("inside if");
       saveReportFinished(true);
    }
    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;

}

我试图在“saveReportFinished”函数中设置“status”,它是一个全局变量,并尝试使用“return status”返回状态。但它只返回初始值,而不返回saveReportFinished函数中的值。如果有人可以帮助我,我会很高兴.. 提前谢谢你!

4

1 回答 1

1

我认为更好的方法是从 saveReportFinished 返回状态并避免使用全局。如果您返回与传入的值相同的值,我也有点困惑为什么要使用 saveReportFinished 方法...

于 2012-07-11T08:50:45.833 回答