Na página HTML, possuo um formulário para o usuário alterar sua senha. Um dos campos do formulário é para ele inserir sua senha atual. No momento que ele insere sua senha atual e sai do campo (onblur), é chamada uma função JS que faz uma requisição ao Controller do Spring para verificar se a senha que o usuário digitou corresponde à sua senha atual. O problema é que eu não sei como passar o parâmetro senha para o Controller.
Estou tentando isso:
JavaScript
function buscarSenhaBD() {
var senha = $(’#senhaatual’).val();
if (senha !== null && senha !== undefined) {
var url = ‘/web/anunciante/validar-senha’;
$.post(url, {vals: senha}, function (dataReturn) {
if (dataReturn === true) {
$(“form #senhaatual”).css({“border-color”: “green”});
$(“form #btn-salvar”).prop(“disabled”, false);
$(“form #btn-salvar”).removeClass(“grey”);
} else {
Materialize.toast(‘Esta senha não corresponde à sua senha atual!’, 4000, ‘green rounded toast’);
$(“form #senhaatual”).css({“border-color”: “red”});
$(“form #btn-salvar”).prop(“disabled”, true);
$(“form #btn-salvar”).addClass(“grey”);
}
});
}
}
Controller Java
@RequestMapping(value = “/anunciante/validar-senha”, method = RequestMethod.POST)
@ResponseBody
public Boolean validarSenha(String senha, HttpServletResponse response, HttpSession session) {
Boolean senhaOk = false;
try {
SenhaService ss = new SenhaService();
String senhaMD5 = ss.convertPasswordToMD5(senha);
Usuario usuario = (Usuario) session.getAttribute(“usuarioSessao”);
if(usuario != null){
if(usuario.getSenha().equals(senhaMD5)){
senhaOk = true;
}else{
senhaOk = false;
}
}
response.setStatus(200);
} catch (Exception e) {
e.printStackTrace();
response.setStatus(500);
}
return senhaOk;
}
com Ajax