这是一个js表单验证,验证email的部分,我想达到的目的是在输入email信息结束后进行验证,前两个条件直接自身进行验证,效果已经实现了,后面的那个我想用ajax的效果进行同步验证,防止email重复,但是效果一直出不来,不知道是否是ajax函数参数设置有问题什么的,或者eclipse出bug什么的,请问有人帮忙看一下的么?
email输入部分代码:
请求的Servlet的函数如下:
public void ajaxValidateEmail(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
boolean emailPass = userService.ajaxValidateEmail(email);
response.getWriter().print(emailPass);
}
service部分:
public boolean ajaxValidateEmail(String email){
return userDao.ajaxValidateLoginname(email);
}
数据库层代码:
public boolean ajaxValidateEmail(String email){
String sql = "select count(1) from t_user where email=?";
try {
Number number = (Number)queryRunner.query(sql, new ScalarHandler(), email);
return number.intValue() == 0;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
$.ajax({
url:"/goods/UserServlet",
data:{method:"ajaxValidateEmail",email:value},
type:"POST",
dataType:"text",//这样改一下
async:false,
cache:false,
success:function(result){
//打印一下result试试看是什么结果
console.log(result);//chrome 按f12,看Console选项卡,可以看到结果.
if(!result){
$("#emailError").text("该邮箱已经被注册了");
$("#emailError").css("display", "");
bool = false;
}
}
});