SSM整合之后,用ajax异步提交验证用户名。
2017-06-29 17:40
316 查看
SSM整合之后,用ajax异步提交验证用户名。
这个是jsp前台的代码,html代码就不写了,比较简单。后台的controller用的都是注解的形式
这个是UserController,后台代码,传的是一个txt,也可以往前台传一个xml,不过写法不同,
传xml
下面是jQuery的写法
前台代码
后台
jQuery的后台可能有错误,没有运行
这个是jsp前台的代码,html代码就不写了,比较简单。后台的controller用的都是注解的形式
<script type="text/javascript"> var xmlHttp; //创建XMLHttpRequest对象 function createXMLHttpRequest() { if (window.ActiveXObject) {//是不是IE xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function validate() { //创建xmlHttpRequest对象 createXMLHttpRequest(); //使用DOM,取HTML标签的账户--根据id值是userNm的标签对象 var userNm = document.getElementById("username").value; if (userNm == "") { document.getElementById("td1").innerHTML = "用户名不能为空"; return; } var url = "checkName.action?ajax=ajax&userNm=" + escape(userNm); //向服务器端的LoginServlet发送异步GET请求 xmlHttp.open("GET", url, true);//1 //当状态有变化的时候,调用callback方法 xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } function callback() { //当客户端完全接收完服务器的响应后,并且状态为200,也就是正常 if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //使用responseXML属性,接收服务器端返回的的XML文件 ,使用DOM解析XML backData = xmlHttp.responseText; //var backData = xmlHttp.responseXML.getElementsByTagName("response") [0].firstChild.firstChild.data; //后台传入XML时使用这个 setMessage(backData); } } } function setMessage(backDate) { //使用DOM得到id值为userNmDiv的域,用来显示提示信息 var userNmDiv = document.getElementById("td1"); if (backDate == "true") { userNmDiv.innerHTML = "有此用户"; } else { userNmDiv.innerHTML = "无此用户"; } </script>
这个是UserController,后台代码,传的是一个txt,也可以往前台传一个xml,不过写法不同,
往前台传txt @RequestMapping("/checkName") public void checkName(HttpServletRequest request, HttpServletResponse response) { String userNm = request.getParameter("userNm"); String ajax = request.getParameter("ajax"); if (ajax != null || ajax != "") { try { Boolean cn = us.checkUserName(userNm); response.setContentType("text/html;charset=utf-8"); PrintWriter out; out = response.getWriter(); out.print(cn); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); }
传xml
@RequestMapping("/checkName") public void checkName(HttpServletRequest request, HttpServletResponse response) { response.setContentType("application/xml;charset=utf-8");//定义输出文本的格式 String userNm = request.getParameter("userNm"); String ajax = request.getParameter("ajax"); if (ajax != null || ajax != "") { try { PrintWriter out = response.getWriter(); response.setHeader("Cache-Control","no-cache"); out.print("<?xml version='1.0' encoding='"+"utf-8"+"' ?>"); out.print("<response>"); out.print("<backData>"+ Boolean.toString(rv)+ "</backData>"); out.print("<backData2>你好</backData2>"); out.print("</response>"); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } }
下面是jQuery的写法
前台代码
function validate2() { var userNm = $("#userNm2").val(); if (userNm == "") return; $.ajax({ url : "LoginServlet?ajax=ajax&userNm=" + escape(userNm), async : true, type: "GET", datatype:"xml",//datatype:"json" success : function(xml){ //json写法 //var obj = eval ("(" + xml + ")"); //setMessage(obj.response[0].backData); $(xml).find("response").each(function(i) { setMessage($(this).children("backData").text()); }); //setMessage(xml.getElementsByTagName("response")[0].firstChild.firstChild.data); } });
后台
if (ajax != null || ajax != ""){ LoginService ls = new LoginServiceImp(); String userNm = request.getParameter("userNm"); boolean rv = ls.checkUserNm(userNm); '{ "response" :[ '{ "backData" : "true" , "backData2":你好 } ,{ "backData" : "false" , "backData2":你好1 }']}' <?xml version='1.0' encoding='"+"utf-8"+"' ?> <response> <backData>true</backData> </response> }
jQuery的后台可能有错误,没有运行
相关文章推荐
- ajax实现注册页面动态验证用户名是否已注册,不必提交即可验证。
- Ajax表单异步提交及验证
- jquery---ajax异步提交+validate表单验证
- SSH第一步——Ajax异步验证用户名是否存在
- ajax实现注册页面动态验证用户名是否已注册,不必提交即可验证
- Ajax用户名异步验证
- Ajax实现异步刷新验证用户名是否已存在的具体方法
- 【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)
- 常用的Ajax异步操作范例,使用Ajax验证用户名是否已存在
- ajax验证用户名是否被注册 ; ajax提交form表单
- jquery---------ajax+validate表单异步提交验证
- Ajax实现异步刷新验证用户名是否已存在的具体方法
- Jquery、 ajax和struts2+Hibernate查询数据库验证用户名是否存在,表单禁止提交等!
- 【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)
- JS实现AJAX提交数据到后台,实现验证用户名是否存在功能详解
- 页面验证1——ajax异步提交
- jquery---------ajax+validate表单异步提交验证
- Ajax实现异步刷新验证用户名是否已存在
- JQuery验证成功之后,使用ajax提交数据
- JS实现AJAX提交数据到后台,实现验证用户名是否存在功能详解