日期:2014-05-16  浏览次数:20786 次

如何将Ajax回调获得的数据传递给其它函数? - Web 开发 / Ajax
以下是一段JS代码,通过Ajax获得版本号,但,虽然我在Ajax的回调函数中stateChanged_GetVersion对strversion进行赋值了,但是在其它函数要使用这个strversion值的时候,它确是没有定义的。
这是什么原因呢,如果将Ajax回调获得的值传递到其它函数?
谢谢~!
JScript code

var strversion;

function stateChanged_GetVersion()
{
  //document.write("stateChanged_GetVersion");
  if (xmlHttp_vers.readyState==4 && xmlHttp_vers.status==200)
  { 
    document.getElementById("version").innerHTML=xmlHttp_vers.responseText;
    strversion = xmlHttp_vers.responseText;    
    //document.getElementById("divinof").innerHTML= xmlHttp_vers.responseText+"  "+strversion;
  }
}

unction GetVersion()
{        
    xmlHttp_vers=GetXmlHttpObject()  
    if (xmlHttp_vers==null)
    {
        alert ("您的浏览器不支持AJAX!");
        return;
    }    
    var url="GetVersion.jsp";    
    url=url+"?PtName="+strPtName;    
    url=url+"&PtIP="+strPtIP;
    xmlHttp_vers.onreadystatechange=stateChanged_GetVersion;    
    xmlHttp_vers.open("GET",url,true);    
    xmlHttp_vers.send(null);
}





------解决方案--------------------
在回调函数执行之后调用其他函数的话,应该是可以 得到strversion的 
写全看看
------解决方案--------------------
用闭包封装一哈
------解决方案--------------------
GetVersion 是不是少复制了个"F" 。
试下将值传递 。