前端
function () {
var phoneNumber = $("#phoneNumber").val();
if (phoneNumber == null || phoneNumber == "") {
layer.alert('电话号码未输入', {icon: 2, title:'error'});
return;
}
var url = "/user/get/verificationCode";
$.ajax({
//提交方式
type: "post",
url: url,
// data: "para="+para, 此处data内参数可继续添加。
data: {"phoneNumber":phoneNumber},
cache: false,
async : false,
//json方式返回参数
dataType: "json",
//此处data是返回的参数,返回的json直接用 data. 可以取出
success: function (data ,textStatus, jqXHR)
{
if(0==data.error_code){
layer.alert("验证码:" + data.data.code, {icon: 1, title:'验证码'});
return true;
}else{
layer.alert('不合法!错误信息如下:' + data.error_message, {icon: 2, title:'error'});
return false;
}
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
layer.alert('请求失败!', {icon: 2, title:'error'});
}
});
}
后端
@ResponseBody
@RequestMapping(value="/get/verificationCode", method= RequestMethod.POST)
public String getVerificationCode(HttpServletRequest request, HttpServletResponse response) {
try {
//接收参数
String phoneNumber = request.getParameter("phoneNumber");
logger.info("phoneNumber = " + phoneNumber);
if (PhoneNumberUtils.validatePhoneNumber(phoneNumber)) {
logger.info("aaaaaa");
String key = PHONE_CODE_PREFIX + ":" + phoneNumber;
String code;
if (redisUtils.exists(key)) {
code = redisUtils.getPhoneCode(key);
} else {
code = redisUtils.insertPhoneCode(key);
}
logger.info("code = " + code);
if (!"".equals(code)) {
ObjectNode data = mapper.createObjectNode();
data.put("code", code);
ObjectNode res = ResponseUtils.putSuccessJson(data);
return res.toString();
}
}
} catch (Exception e) {
logger.error("getVerificationCode error phoneNumber", e);
}
ObjectNode res = ResponseUtils.putErrorJson(1012);
return res.toString();
}