ajax请求验证登录名是否已注册
来源:互联网 发布:怎么登录阿里云邮箱 编辑:程序博客网 时间:2024/05/31 19:27
问题提出:利用ajax请求来验证注册时选择的登录名是否已经被注册,问题是每次都会出现未注册,即使是数据库中已经存在有此登录名。
后台程序:
@RequestMapping(value = "duplicate", method = RequestMethod.GET, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<Object> duplicate(@RequestParam(value = "loginName") String loginName) { try { UserDto userDto = developerService.findByLoginName(loginName); if (userDto == null) { userDto = new UserDto(); userDto.setLoginName(loginName); return new ResponseEntity(userDto, HttpStatus.OK); } else { return new ResponseEntity(userDto, HttpStatus.OK); } } catch (CoreException e) { logger.error(e.getMessage()); e.printStackTrace(); return new ResponseEntity(null, HttpStatus.INTERNAL_SERVER_ERROR); } }
后台请求接口:
url: "${ctx}/developer/duplicate",
约定格式:application/json
传输数据:
data: {"loginName": loginName},
验证登录名是否合法:
合法才提交请求验证登录名是否已注册,否则登录名不合法不能请求服务。
function checkLoginName(loginName){ if(......){ ......... return false; }else if(duplicate(loginName)==true){ .......... return false; }else{ ....... return true; }}
当请求到检验是否重名的函数duplicate(loginName)时:
function duplicateLoginName(loginName) { var dup = false; $.ajax({ type: "GET", url: "${ctx}/developer/duplicate", contentType: "application/json", dataType: "json", data: {"loginName": loginName}, beforeSend: function () { $("#loginNameTips").text("正在验证...").css("color", "red"); }, error: function (data, XMLHttpRequest) { $("#loginNameTips").text("×验证失败:").css("color", "red"); }, success: function (data) { if (data.id == null) dup = false;//未重名 else dup = true;//重名 } }); return dup; }
理想结果:若重名,则该函数返回false,否则返回true
实际结果:如果重名,会执行dup=true,不重名,执行dup=false,但是返回的dup始终是初始化的值false,结果是无论重名与否,结果都显示不重名,为什么呢?
原因分析:ajax默认是异步传输,也就是说,方法并没有等待 success:function(data) 回调函数执行完,就已经向下执行了。这就是dup一直未初始化值false的原因所在。
解决办法:利用同步传输,添加上async:false即可,
0 0
- ajax请求验证登录名是否已注册
- 使用struts2+Ajax+jquery验证用户名是否已被注册
- Ajax验证用户名或昵称是否已被注册
- javaweb基础----ajax+Hibernate验证用户名是否已被注册
- 利用Ajax异步验证用户名是否已被注册
- ajax实现注册页面动态验证用户名是否已注册,不必提交即可验证。
- ajax实现注册页面动态验证用户名是否已注册,不必提交即可验证
- Struts框架中利用jquery/ajax 验证用户名是否为空,是否已注册
- ajax验证是否重复注册
- 【MVC】会员注册/登录,普通验证,会员名是否注册Ajax验证以及会员邮件验证实现原理
- 注册时检测用户是否已存在(自定义验证控件+jQuery.Ajax)
- ASP.NET 使用WebServices+Ajax实现无刷新验证用户是否已注册
- PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
- AJAX判断用户是否已注册
- Ajax登录注册-----数据请求 交互
- Ajax校验登录名是否存在
- Ajax验证用户名是否已存在
- 使用Ajax验证用户是否已存在
- 我的Github
- 一个菜鸟半年的游戏测试的工作心得
- HDU1431 素数回文
- 删除指定字符
- ajax请求之JSON.stringify
- ajax请求验证登录名是否已注册
- IDEA设置注释作者名字
- MacType渲染问题
- MD5加密
- javascript对象
- 门禁系统
- cantor数表
- JAVA EE简易聊天室实验报告
- 人生第一篇博客