ajax实现简单注册验证
来源:互联网 发布:高频交易程序员招聘 编辑:程序博客网 时间:2024/06/05 10:54
Ajax的局部刷新对于提升用户体验性的确挺给力的,这里用一个日常开发中常见的注册场景来说明ajax的使用:当输入用户名之后及时给出用户名是否已存在的提示。
因为原生的ajax需要手动编码进行浏览器兼容性的处理,比较繁琐,所以更好的选择是用jQuery的ajax进行操作,jQuery做了高度封装,作为程序员来讲不用再考虑浏览器差异,可以把主要精力放在业务逻辑处理上。
不多说,在eclipse中新建一个web工程,在webroot下新建一个文件夹,导入jQuery的脚本文件。
页面jQuery代码:
<script type="text/javascript" src="jquery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$("#username").blur(function(){
var username = $("#username").val();
if(username.length < 1){
$("#msg").html("用户名不能为空");
return ; //不触发ajax
}
$.post("/ajaxWAR/register",{"uname":username},function(data){
$("#msg").html("<font size='5' style='color:red'>"+data+"</font>");
});
});
});
</script>
代码解释:用户在表单中输入用户名之后,当用户名失去焦点,则会触发ajax去后台验证该用户名在数据库中是否已经存在,验证的结果会及时通过回调函数响应在页面元素<span id="msg">上,做到数据的局部刷新。
Form表单:
<form action="#none" method="post">
用户名:<input type="text" name="username" id="username" /> <span id="msg"></span></br>
密 码: <input type="password" name="password" id="password" /></br>
<input type="submit" id="log" value="登陆"/>
<input type="submit" id="reg" value="注册"/>
<input type="reset" value="重置"/>
</form>
后台servlet:
@WebServlet("/register")
public class registerServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String uname = request.getParameter("uname");
UserDAO userDAO = new UserDAOImpl();
User user = userDAO.findByName(uname);
PrintWriter pw = response.getWriter();
if (user == null) {
pw.print("恭喜你,该用户名可以注册!!!");
} else {
pw.print("对不起,该用户名已存在!!!");
}
}
}
可以看到,该servlet的主要工作就是调用dao去进行数据库查询,并把验证结果通过打印流发送回前端页面。
Dao代码:
public User findByName(String name) {
Connection connection = DBUtil.getConnection();
PreparedStatement pstm = null;
ResultSet rs = null;
User user = null;
String sql = "select * from user where username = ?";
try {
pstm = connection.prepareStatement(sql); //
pstm.setString(1, name); //设置参数
rs = pstm.executeQuery(); // 执行查询
// 遍历结果集
while (rs.next()) {
user = new User();
String username = rs.getString("name");
int id = rs.getInt("id");
String password = rs.getString("password");
user.setName(username);
user.setId(id);
user.setPassword(password);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs, pstm, connection); // 关闭资源
}
return user;
}
测试截图:
图1用户表已存在记录
图2 输入用户表中不存在的记录
图3 输入用户表中已存在记录
至此,一个最简单的ajax局部刷新小实例就完成了。可以看到,从后台返回的用户名验证信息只是刷新到页面中的一个元素中,并没有刷新整个页面,浏览器地址栏的地址一直没变。
- ajax实现简单注册验证
- Ajax实现简单的登录验证与帐号注册
- Ajax实现注册用户名验证
- Ajax实现局部刷新和异步处理简单应用(实现简单注册验证)
- 一个简单的ajax验证注册用户名
- Ajax简单注册用户验证(初学者)
- Ajax实现客户端验证用户注册
- PHP实现Ajax注册用户名验证---示例
- ajax实现异步注册验证(stru…
- Ajax如何实现注册登陆验证
- 利用ajax实现局部刷新(简单的注册验证案例)
- 使用JSP Servlet和Ajax实现简单的注册页面的用户名密码验证
- ajax+servlet实现注册验证(验证用户名是否存在)
- session 注册简单验证码的实现
- 简单实现手机号验证码注册功能
- 使用js实现简单的注册验证
- AJax技术简单的验证注册的用户名
- php+ajax注册验证
- 针对中科院汉语分词系统nlpir中的中文分词部分在java环境的部署(Linux和windows)(获取关键词)
- Linux清理cached 禁言 清理t_message
- Orlace 数据库连接的那些事儿:服务器端(一)
- 高斯混合模型(matlab代码+注释)
- iOS 新特性之集合内存在的数据(指定集合内存储的数据)
- ajax实现简单注册验证
- 混编
- 线性表(一)——顺序表(2)
- Material Design:CoordinatorLayout,CollapsingToolbarLayout,AppBarLayou
- 用条件格式提高数据易用性(1)-开篇
- 关于iOS从iPod取出来的音乐MPMediaItemPropertyAssetURL属性为空问题
- c语言实现几种排序算法
- hadoop2.*能力调度器capacity-scheduler
- KMP nextj计算