昵称失去焦点时的事件
jQuery来实现我们的ajax
$.ajax({
url:服务器的地址,
type:请求方式,
data:需要传递给后台的数据,
dataType:希望服务器返回的数据类型 xml html js text
beforeSend:发送请求之前执行的函数,
success:响应成功之后执行的函数,
error:响应失败执行的函数
昵称:<input type="text" name="userName" required />
<div id="result"></div>
<!-- 导入jQ包 -->
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$("[name='userName']").blur(function() {
var userName=$("[name='userName']").val();
$.ajax({
url:"validateServlet",//服务器的地址 @WebServlet("/validateServlet")
type:"POST",//请求方式
data:{"userName":userName},//需要传递给后台的数据
dataType:"text",//希望服务器返回的数据类型 xml html js text
beforeSend:function(){//发送请求之前执行的函数
alert("发送验证是否存在请求");
},
success:function(data){//响应成功之后执行的函数
if (data.match("true")) {//证明用户名存在
$("#result").html("<span style='color:red'>用户名已存在</span>")
}else{
$("#result").html("<span style='color:green'>可以使用</span>")
}
},
error:function() {//响应失败执行的函数
alert("失败");
}
})
})
@WebServlet("/validateServlet")
public class ValidateServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//乱码问题
req.setCharacterEncoding("utf-8");
//获取前台form输入的用户名
String name = req.getParameter("userName");
//定义个标记 默认false
boolean flag = false;
//判断是否存在
if ("admin".equals(name)) {
flag = true; // 证明数据库中存在
}
//传送到前端form
PrintWriter writer = resp.getWriter();
//输出
writer.print(flag);
//关闭流
writer.close();
}
}