基于ssm的AJAX传值问题(注册用户名唯一)

5月9号花了整整一天好好学习了一下有关AJAX传值的问题:
写了一个关于注册时判断用户名是否唯一的后台。
啥也不说了,直接上代码。
代码主要分了三部分:1.JSP;2.controller;3.service,其实还有mapper文件用来存放数据库。
1.JSP部分:

<script src="assets/js/jquery-1.10.2.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                 $("#registerPwd").click(function(){
                    $.ajax({
                        url:"http://localhost:8080/bask10/registerUserName.do",
                        type: "POST",
                        datatype:"json",
                        data:{"registerName":$("#registerName").val()},
                        success:function(data){
                            //alert(typeof data);测试代码
                            var str = data.result;
                            if(str == "success"){
                                alert('该用户名可用!')
                            }else{
                                alert('该用户名不可用!')
                            } 
                        }
                        
                    }) 
                    
                });
            });
        </script>

 

2.controller部分:
//用来判断用户名是否唯一
    @RequestMapping("/registerUserName")
    @ResponseBody
    public Map<String,Object> registerUserName(String registerName,HttpServletRequest request){
        //校验registerUserName方法传入的参数registerName是否为空
        if(StringUtils.isEmpty(registerName)){
            LOGGER.error("registerUserName方法的参数registerName是空的");
            request.setAttribute("error", "用户名不能为空!");
            System.out.println("error");
            //return LOGINNEW;//如果出现空指针异常,先让其跳回loginNew.jsp页面。
        }
        Map<String,Object> resultMap = new HashMap<String, Object>();  
        boolean tOf = registerService.registerNameOnly(registerName);
        if(tOf == true){
            resultMap.put("result", "success");
            return resultMap;
        }else{
            resultMap.put("result", "notsuccess");
            return resultMap;
        }
    }

 

3.service部分:
//添加方法registerNameOnly传入表单中的用户名,用来判断数据库中是否已经存在该用户名
    public boolean registerNameOnly(String userName){
        User user = new User();
        user.setUserName(userName);
        user = userMapper.loginFindNamePwd(user);
        if(user == null){
            return true;
        }else{
            return false;
        }
    }

 

4.mapper文件里的sql:
<select id="loginFindNamePwd" resultMap="BaseResultMap" parameterType="com.basketball.entity.User" >
    select <include refid="Base_Column_List" />from user where user_name=#{userName};
  </select>
posted @ 2017-05-16 09:23  燕麦酸奶  阅读(4874)  评论(0)    收藏  举报