发表于: 2017-11-20 23:14:30

1 604


今天完成的事情

用ajax完成页面部分刷新

先写一个表单,用于获取信息

<form method="get" action="/user">
   用户名:<input type="text" name="userName"><br>
   密码:<input type="password" name="userPassword" id="pwd"><br>
   确认密码:<input type="password" name="checkPassword" onblur="check()" id="cpwd"><br>
   手机号码:<input type="text" name="user_phone" id="user_phone"><br>
   <input type="button" value="发送验证码" onclick="sendnum()"><br>
   验证码:<input type="text" name="check_number"><br>
   <input type="submit" value="注册">
</form>

在同一个JSP页面中写ajax的相关代码,用于处理用户实时输入的信息,使页面部分刷新

<script type="text/javascript">
   function sendnum() {
var user_phone = document.getElementById("user_phone").value;
       if(user_phone!=""){
            $.ajax({
               url:"/code",
               data:{"user_phone":user_phone},
               type:"post",
               success: function(){
                      alert("发送成功");
                    }
              });
       }else{
              alert("请输入您的手机号码");
       }
}
       function check() {
       var pwd = document.getElementById("pwd").value;
       var cpwd = document.getElementById("cpwd").value;
       if(pwd!=cpwd){
          alert("密码不一致,请重新输入");
       }
}
</script>

需要在头部声明:

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.10.2.min.js"></script>

并引入一个js文件到webapp目录下。

实现部分刷新的后台代码:

@RequestMapping(value = "/code",method = RequestMethod.POST)
public void savecode(String userPhone, HttpServletResponse response){
   //随机生成6位数字
   String num = new Random().nextInt(999999)+"";
   //将数据保存到数据库
   Phonecode phoneCode = new Phonecode(System.currentTimeMillis(),num,userPhone);
   phoneCodeService.add(phoneCode);
  //发送验证码到用户手机
   smsSend.sendSMS(userPhone,num);
}

从页面获取手机号码,生成6位的随机数并转换位字符串作为验证码,针对手机验证码在数据库建立一个表,将当前时间,验证码,手机号码存入数据库,然后将手机号和验证码传入发送短信的方法中

当执行成功后,页面会提示发送成功:


明天的计划

完成邮箱和图片模块


遇到的问题

不会ajax,参照着写的


收获

了解了手机验证的流程


返回列表 返回列表
评论

    分享到