function CheckName(){ var url = "CheckServlet?userName="+document.getElementById("userName").value+"&r="+Math.random(); if(window.XMLHttpRequest){ req = new XMLHttpRequest(); } else if(window.ActiveXObject){ req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET",url,true); req.onreadystatechange = complete_userName; req.send(null); } } function complete_userName(){ if(req.readyState == 4){ if(req.status == 200){ typeName = req.responseText; if(typeName == "10"){ document.getElementById("userNameCheck").style.color = "green"; document.getElementById("userNameCheck").innerHTML = "xxx"; } else if(typeName == "11"){ document.getElementById("userNameCheck").style.color = "red"; document.getElementById("userNameCheck").innerHTML = "xxx"; } } } } 我通过ajax的方法实现注册页面里,用户名的实时检查,但是我想在另外一个函数里取到typeName变量的值,我应该怎么写才能正确取到这个变量的值?
你现在的写法就是对的
function complete_userName(){
if(req.readyState == 4){
if(req.status == 200){
typeName = req.responseText;
if(typeName == "10"){
document.getElementById("userNameCheck").
complete_userName 是在响应成功时调用的回调 通过req.responseText得到响应的内容 没问题
定义一个变量
var s = {typeName:""};
在一个函数里面改变s.typeName的值 另一个函数里面获取s.typeName
1.全局变量
2.把变量的值存放在一隐藏域中,需要的时候,获取这个隐藏域
定义一个全局的变量……