Ajax实现局部校验:
注册用户时,保证用户名不重复,为了保证实现功能需要在不提交表单的情况下,实现局部校验
前台代码为:
姓名:<input type="text" name="username" id="username" />
<span id="ref"></span>
实现用户名输入文本框
在前台校验时 ,
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<script src="jquery-1.4.min.js"></script>
<script type="text/javascript" >
$(function(){$("#username").blur(function(){
$.ajax({
url:"AjaxServlet",
type:"post",
data:{
"username":$("#username").val(),
},
success:
function(result) {
alert(result);
if (result == 1) {
$("#ref").html("yes");
$("#ref").css("color","green");
}else{
$("#ref").html("no");
$("#ref").css("color","red");
}
}
});});});
</script>
.blur中的方法实现.ajax方法 其值为:(url,type,data{},success ,error)
其中url:“跳转路径”,type:“表示方法post/get”,data{“数据名”:数据值},success:成功执行的方法,error:
失败执行的方法
后台Servlet中的代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("username");
//逻辑处理
response.getWriter().print(1);
}
跳转后,在Servlet中,request.getParameter()可以通过data中的数据名,得到数据值,在进行逻辑处理后(在此通过username在数据库中查找,若又返回值,则存在) response.getWriter().print("这是返回前台的结果,前台用result接收")
前台代码精髓:
$(function(){$("#username").blur(function(){$.ajax({url: ,type: ,data{}, success: ,error: };)});});