发表于: 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,参照着写的
收获
了解了手机验证的流程
评论