读书人

验证用户名是否存在。Ajax+Action如何

发布时间: 2013-01-23 10:44:49 作者: rapoo

验证用户名是否存在。Ajax+Action怎么写了?

<script type="text/javascript">

var xmlHttp;
var result = false;
function checkuid(){

var username = document.all.username.value;

if(username.length<3){
document.all.usernameMsg.innerHTML="<font color='red'>用户名太短,请重新输入!</font>";

return false;
}else{

document.all.usernameMsg.innerHTML="<font color='red'>用户名检测中...</font>";
if(window.ActiveXObject){

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}else if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

}

var uri = "user!CheckUser.action?username="+username;


xmlHttp.open("post",uri,true);

xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var flag = xmlHttp.responseText;
if(flag=="true"){
document.all.usernameMsg.innerHTML="<font color='red'>该用户名已被使用,请您重新选择用户名!</font>";
result = false;

}else{
document.all.usernameMsg.innerHTML="<font color='red'>恭喜您,该用户名可用!</font>";
result = true ;
}
}
}

}

xmlHttp.send(null);
}


}


</script>

public void CheckUser() {
PrintWriter pw = null;
System.out.println("username=" + username);
list = userService.query("from User where username='" + username + "'");
System.out.println(list);
System.out.println("aadasd");
if (list != null) {
pw.write("true");
} else {
pw.write("false");
}
pw.flush();
pw.close();
}


这段代码肯定有错。第二个是Struts2的Action,请问这些要怎么写了?求补充
[解决办法]
找找jquery吧,自己写太费劲了
[解决办法]
基本对的吧

pw是null怎么输出数据给前台?
[解决办法]
建议LZ用用jquery的Ajax把,如果你是初学jsp的话,用这种异步请求可以理解。
不过你检查用户名的action,你的printWrite为null啊,用request对象赋值下吧!
[解决办法]

PrintWriter pw = null;


改为

PrintWriter pw = ServletActionContext.getResponse.getWriter();




[解决办法]
引用:
引用:Java code?1PrintWriter pw = null;

改为
Java code?1PrintWriter pw = ServletActionContext.getResponse.getWriter();

请问为什么我赋值了现在变成了一直false了。。
刚没赋值一只手true


可以打印下list看看list的值。一般情况,是你那个判断list是否为空的操作出问题了。

读书人网 >J2EE开发

热点推荐