日期:2014-05-20  浏览次数:20635 次

ajax验证用记名的唯一性
var xmlobj; //定义XMLHttpRequest对象
function CreateXMLHttpRequest() 
{
  if(window.ActiveXObject) //如果当前浏览器支持Active Xobject,则创建ActiveXObject对象
  {
  xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
  } 
  else if(window.XMLHttpRequest) //如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象
  {
  xmlobj = new XMLHttpRequest();
  }
}
function Validate() //主程序函数
{
alert("v1v1v1");
  CreateXMLHttpRequest();
  alert("v2v2v2"); //创建对象
  var showurl = "register.do?name=" + document.getElementById ("userName").value; //构造URL
  alert("v3v3v3");
  xmlobj.open("GET", showurl, true); //调用register.jsp
  alert("v4v4v4");
  xmlobj.onreadystatechange = StatHandler; //判断URL调用的状态值并处理
  xmlobj.send(null); //设置为不发送给服务器任何数据
}
function StatHandler() //用于处理状态的函数
{
alert("s1s1s1");
  if(xmlobj.readyState == 4 && xmlobj.status == 200) //如果URL成功访问,则输出网页
  {
  alert("s2s2s2");
  if(xmlobj.responseText == "1") //检查用户名是否有效
  {
  alert("s3s3s3");
  document.getElementById("userNameStr").innerHTML = "<font color=RED>该用户名已被人使用</font>";
  }
  else if(xmlobj.responseText == "0")
  {
  alert("s4s4s4");
  document.getElementById("userNameStr").innerHTML="<font color=GREEN>该用户名未被人使用</font>";
  }
  else
  {
  alert("s5s5s5");
  document.getElementById("userNameStr").innerHTML = "<font color=RED>用户名验证程序出错</font>";
  }
  }
}

为什么action 获得到的用户名为空。求解。。。。。。??????????????

------解决方案--------------------
xmlobj.open("GET", showurl, true); //调用register.jsp

自己看看这个jsp的返回值再说吧。 先调试服务器端程序。
------解决方案--------------------
先debug看看后台返回的用户名是否正确。。再看看ajax的返回。。。分步找原因。。