controller层

@ResponseBody
@RequestMapping(value = "/user/isExist", produces = "application/json")
public boolean isExist(Model model,String userName) { boolean flag = userPrivilegeServiceFacade
.isExistUserName(userName);
if(flag) {
return true;
}
return false;
}

jsp页面

<form:form class="form-horizontal" id="form" method="post" modelAttribute="user"
enctype="multipart/form-data" >
<div class="control-group">
<form:label path="userName" class="control-label">
<spring:message code="system.user.userName" />
</form:label>
<div class="controls">
<form:input path="userName" onblur="checkIsExist();" onfocus="clearCss();" />
<site:required />
<span id="showResult"></span>
<form-extension:errors path="userName" cssClass="error" />
</div>
</div>
</form:form>
<script type="text/javascript">
function checkIsExist() {
var userName = $.trim($("#userName").val());
$.ajax({
type:"POST", //http请求方式
url:"<spring:url value="/system/userprivilege/user/isExist" />", //发送给服务器的url
data:"userName="+userName, //发送给服务器的参数
dataType:"json", //告诉JQUERY返回的数据格式(注意此处数据格式一定要与提交的controller返回的数据格式一致,不然不会调用回调函数complete)
complete:function(msg) {
if (eval("(" + msg.responseText + ")")) {
$("#showResult").html("<font color='red'>用户名已存在</font>");
} else {
$("#showResult").html("");
}
}//定义交互完成,并且服务器正确返回数据时调用回调函数
});
}
function clearCss() {
$("#showResult").html("");
}
</script>

错误的例子(controller层)

@ResponseBody
@RequestMapping(value = "/user/isExist", produces = "application/json")
public boolean isExist(Model model,String userName) { boolean flag = userPrivilegeServiceFacade
.isExistUserName(userName); return flag;
}

优化的例子

controller层

@ResponseBody
@RequestMapping(value = "/user/isExist", produces = "application/json")
public ResultDTO isExist(Model model,String userName) { ResultDTO result = new ResultDTO(); boolean success = userPrivilegeServiceFacade
.isExistUserName(userName); result.setSuccess(success); if(success) {
result.setMessage("<font color='red'>用户名已存在</font>");
} else {
result.setMessage("<font color='green'>用户名合法</font>");
}
return result;
}

domain层

public class ResultDTO implements Serializable{
private static final long serialVersionUID = 1L; private boolean success;
private String message;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
} }

jsp页面

<script type="text/javascript">

    function checkIsExist() {
var userName = $.trim($("#userName").val());
$.ajax({
type:"POST", //http请求方式
url:"<spring:url value="/system/userprivilege/user/isExist" />", //发送给服务器的url
data:"userName="+userName, //发送给服务器的参数
dataType:"json", //告诉JQUERY返回的数据格式(注意此处数据格式一定要与提交的controller返回的数据格式一致,不然不会调用回调函数complete)
complete : function(msg) {
var result = eval("(" + msg.responseText + ")");
if(result.success) {
$("#showResult").html(result.message);
} else {
$("#showResult").html(result.message);
}
}
});
}
function clearCss() {
$("#showResult").html("");
}
</script>

jquery ajax验证用户名是否存在(后台spring mvc)的更多相关文章

  1. 利用jQuery实现的Ajax 验证用户名是否存在

    异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用jQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据. 通过jQuery 底层 AJA ...

  2. 基于jQuery实现的Ajax 验证用户名唯一性

    基于jQuery实现的Ajax 验证用户名唯一性 前端jsp页面代码 <tr> <th><span class="requiredField"> ...

  3. 使用ajax验证用户名重复

    继上次的用户注册登录案例之后,对其中的部分功能再做进一步改进.上一版中用户提交表单后才对用户名进行校验,虽然做了回显,但还是感觉功能弱了些.为了能有更好用户体验,不是在用户提交表单后才给提示,而是在用 ...

  4. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  5. ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  6. 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  7. Ajax验证用户名是否被注册

    Ajax验证用户名是否被注册 var xmlHttp; function createXMLHttpRequest(){ // 创建XMLHttp请求对象 if(window.ActiveXObjec ...

  8. 11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)

    用ajax验证用户名是否可用 testuid.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  9. Ajax验证用户名

    用Ajax验证用户名: 接口: get guestbook/index.php m : index a : verifyUserName username : 要验证的用户名 返回 { code : ...

随机推荐

  1. hpu第五届acm比赛

    vijos P1211生日日数   描述 CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天). 格式 输入格式 从文件的第一行分别读入YY,MM,DD其中1 ...

  2. android Bitmap围绕一个点进行旋转

    在项目中需要使用定位功能,也就是一个点围绕一个圆心进行旋转,查看了canvas的函数也就只有一个 canvas.drawBitmap(bitmap, matrix, paint)通过使用Matrix来 ...

  3. ACM 做题过程中的一些小技巧。

    ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...

  4. 一天一个类,一点也不累之HashSet

    最近忙着一个小项目结题,故没能按时完成[一天一个类,一点也不累],还好项目优秀,算是对自己一点点的安慰和鼓励.~~~ 今天要说的是HashSet 既然是继承自Set,那么就必须有Set的一些属性,比如 ...

  5. WPF Multi-Touch 开发:基础触屏操作(Raw Touch)

    原文 WPF Multi-Touch 开发:基础触屏操作(Raw Touch) 多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程.例如,生活中经常使用的触屏手机 ...

  6. ACM一些题目

    Low Power 先二分答案,可以通过调整证明同一台机器选的两个芯片必然是提供能量数值相邻的两个.所以再贪心一下就可以了. 时间复杂度\(O(n \log n)\). Factors 假设\(k\) ...

  7. C++中用rand()和srand()产生随机数方法介绍

    标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:   函数一:int rand(void): 从srand (seed)中指定的see ...

  8. HDOJ 5071 Chat 模拟

    大模拟: 1>saygoodbye要先对 always on top 的人说 2>对没有说过话的不要说good bye 3>用long long Chat Time Limit: 2 ...

  9. 圣魔大战3(Castle Fantisia)艾伦希亚战记完美攻略

    作为城堡幻想曲系列续作,艾伦希亚战记继承了前作的战棋+养成模式进行游戏. (城堡幻想曲3,纠正大家个错误哦,不是圣魔大战3,圣魔大战是城堡幻想曲2,圣魔大战不是个系列,艾伦西亚战记==艾伦希亚战记,一 ...

  10. android随记

    [Android]中国大部分城市地区的结构定义与按拼音排序  http://blog.csdn.net/sodino/article/details/6739522