【ajax入门】使用Ajax异步实现用户名异步校检
2014-08-31 17:33
741 查看
【功能描述】 我们在注册网站的通常都需要填写用户名,但我们输入我们喜欢的用户名的鼠标离开输入框,有时会提醒 用户名已被注册,但是网页上的其它内容却没有更新。这就是异步实现。
下面我们描述是怎样实现的。(ajax+Servlet)
前台代码:
JS代码
后台代码
最后再 配置 web.xml 和拷贝下面几个文件到 lib文件中
到这里下载
下面我们描述是怎样实现的。(ajax+Servlet)
前台代码:
<div id="register" class="div_cntent"> <form name="form1"> <table> <tr> <th align="center" colspan="2">用户注册</th> </tr> <tr> <td>用户名:</td> <td><input type="text" name="reg_name" id="reg_name" onblur="checkName()" /><span id="name_tip"></span></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="reg_password" id="reg_password" /><span id="password_tip"></span></td> </tr> <tr> <td><input type="button" value="注册" class="btn_style" /></td> <td><input type="reset" value="重置" class="btn_style"/></td> </tr> </table> </form> </div>使用 onblur=“checkName()”表示鼠标在用户名文本框失去焦点时调用 checkName()方法
JS代码
/* * ajax异步检测用户名 * */ function checkName(){ var xmlhttpChk; // 穿件xmlHttpRequest对象 ,XMLHttpRequest 用于在后台与服务器交换数据。 var reg_name = document.getElementById("reg_name").value; // 判断浏览器的问题:由于不同浏览器创建xmlhttp方式不同 // 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。 if(window.XMLHttpRequest){ xmlhttpChk = new XMLHttpRequest(); // 火狐,谷歌,opera…… }else{ xmlhttpChk = new ActiveXObject(); // IE5 IE6…… } // 请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数 xmlhttpChk.onreadystatechange = function(){ /* * 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。 * 0: 请求未初始化 * 1: 服务器连接已建立 * 2: 请求已接收 * 3: 请求处理中 * 4: 请求已完成,且响应已就绪 * status * 200: 表示 OK * 400: 表示“未找到页面” * */ if(xmlhttpChk.readyState == 4 && xmlhttpChk.status == 200){ alert(xmlhttpChk.responseText); // 使用JSONObject对象必须使用eval()方法把返回的数据转换为对象 var resultObj = eval("("+xmlhttpChk.responseText+")"); if(resultObj.exist){ // 用户名已存在 document.getElementById("name_tip").innerHTML = "<font color='#f00'>用户名已存在</font>"; // 用户名可用 }else{ document.getElementById("name_tip").innerHTML = "<font color='#0f0'>用户名可用</font>"; } } }; // 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttpChk.open("get", "checkName?reg_name="+reg_name, true); xmlhttpChk.send(); /* open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。 method:请求的类型;GET 或 POSTurl:文件在服务器上的位置async:true(异步)或 false(同步) send(string) 将请求发送到服务器。 string:仅用于 POST 请求 */ }上面代码就是是使用ajax异步实现用户名校检
var xmlhttpChk; var reg_name = document.getElementById("reg_name").value; // 判断浏览器的问题 if(window.XMLHttpRequest){ xmlhttpChk = new XMLHttpRequest(); }else{ xmlhttpChk = new ActiveXObject(); }
后台代码
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); String reg_name = request.getParameter("reg_name"); reg_name = new String(reg_name.getBytes("ISO8859-1"),"UTF-8"); System.out.println(reg_name); // 创建Json对象 JSONObject resultJson = new JSONObject(); if("Allen".equals(reg_name)){ resultJson.put("exist", true); // 表示用户名已存在 }else{ resultJson.put("exist", false); // 表示用户名不存在 } out.print(resultJson); out.flush(); out.close(); }
最后再 配置 web.xml 和拷贝下面几个文件到 lib文件中
到这里下载
<!-- 用户验证 --> <servlet> <servlet-name>CheckNameServlet</servlet-name> <servlet-class>com.ajax.web.CheckNameServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CheckNameServlet</servlet-name> <url-pattern>/checkName</url-pattern> </servlet-mapping>
相关文章推荐
- 【ajax入门】使用Ajax异步实现用户名异步校检
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- 简单使用Ajax实现异步查询用户名是否被占用
- 使用jQuery实现Ajax异步提交表单实现局部刷新
- 【Ajax】实现注册页面判断用户名是否可用的提示—异步加载
- 使用ajaxFileUpload实现文件异步上传
- 学习ajax很好的入门教程--使用 JavaScript 和 Ajax 发出异步请求
- 使用AjaxFileUpload.js实现异步文件上传示例
- 使用Ajax异步刷新实现登录用户验证
- 使用ajaxFileUpload实现异步上传图片
- 关于ajax+jsp实现异步校验用户名是否存在的实例(.txt文本)
- 使用jquery+ajax方式实现用户注册时,检测用户名是否存在
- Ajax实现异步刷新验证用户名是否已存在
- ajax实现异步请求,不跳转页面的情况下,达到检验用户名等信息是否效果的功能!
- Ajax入门,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
- 使用Ajax实现检查用户名是可用
- Ajax实现异步刷新验证用户名是否已存在的具体方法
- MVC验证09-使用MVC的Ajax.BeginForm方法实现异步验证
- 使用ajaxfileupload插件实现异步上传并保存图片功能
- 使用AjaxFileUpload.js实现文件异步上�