异步请求时request.getParameter()不能获取参数

fanqieorz 2016-12-26 08:07:02
表单代码
    <form method="post" action="LRServlet" onsubmit="return submitSuccessful()">
<div class="login-text" >
<span>验证码:</span><input type="text" name="checkCode" id="checkCode" onblur="isCheckCodenull()" oninput="inputOnblur(this)" />
<img id="vcode" src="codeServlet" border="0" align="absmiddle" onclick="this.src='codeServlet?rnd=' + Math.random();" style="position:relative; float:right; "/>
<span>点击图片刷新验证码</span><br /><span id="CodeResult"></span>
</div>
<input type="hidden" name="action" value="login" />
<input type="submit" class="login-button" onclick="isCodeTrue()" value="登录" />
</form>


js代码:
//验证码是否正确
function isCodeTrue(){
var code=document.getElementById("checkCode").value.replace(/\s/gi,'');
if(code==null || code==""){

}else{
createXMLHttp();
xmlHttp.open("post","LRServlet?action=login",true);
xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState==4){
if(xmlHttp.status==200){
var text=xmlHttp.responseText;
if(text!=null){
document.getElementById("CodeResult").innerHTML=text;
}else{
document.getElementById("CodeResult").innerHTML=" ";
}
}
}
};
xmlHttp.send();
}
}



Servlet代码
if(panDuan.equals("login")){	
String code=request.getParameter("checkCode");
HttpSession codeSession=request.getSession();
String codeStr=(String)codeSession.getAttribute("validationCode");
System.out.println(codeStr);
System.out.println("hahah"+code);
if(codeStr.equals(code)){
codeSession.setAttribute("validationCode", "aaaa");
System.out.println("验证码验证成功!!!");
boolean lSuccessful=false;
try {
lSuccessful = DAOFactory.getILRDAOInstance().doLRSelect(userName, userPassword);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(lSuccessful){
session.setAttribute("userName",userName );
response.sendRedirect("index.jsp");
}else{
//转到登录页面!!!
String msg="用户名或密码错误,请重新输入!!";
request.setAttribute("msg", msg);
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}else{
out.print("验证码错误,请重新输入!!");
}
}



打算在点击按钮判断验证码是否正确,不正确就不提交表单,并且显示 "验证码错误,请重新输入!!" 。但是无法吧验证码传去Servlet 。求解
...全文
215 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧