1
I have the JWT class but I can’t renew it. How do I renew this token when the registration is done? I already own the token in sessionStorage called token with key.
Class:
function parseJwt (token)
{
var base64Url = token.split('.')[1];
var base64 = base64Url.replace('-', '+').replace('_', '/');
var jwt = JSON.parse(window.atob(base64));
Object.keys(jwt.data).forEach(function (key, value)
{
var value = jwt.data[key];
sessionStorage.setItem(key, value);
});
};
$('.btn-adicionar-endereco').click(function (e)
{
e.preventDefault();
var obj = new Object();
var arrayObj = new Array();
var mensagemsucesso = "Dados inseridos com sucesso";
obj.idcliente = sessionStorage.getItem("cliente_id");
obj.cependereco = $('.cependereco').val();
obj.logradouroendereco = $('.logradouroendereco').val();
obj.numeroendereco = $('.numeroendereco').val();
obj.complementoendereco = $('.complementoendereco').val();
obj.estadoendereco = $('.estadoendereco').val();
obj.cidadeendereco = $('.cidadeendereco').val();
obj.bairroendereco = $('.bairroendereco').val();
if (obj.cependereco == '')
{
alert('O cep é obrigatório');
return false;
}
else if (obj.logradouroendereco == '')
{
alert('O Logradouro é obrigatório');
return false;
}
else if (obj.numeroendereco == '')
{
alert('O número é obrigatório');
return false;
}
else if (obj.estadoendereco == '')
{
alert('Selecione um estado');
return false;
}
else if (obj.cidadeendereco == '')
{
alert('Selecione uma cidade');
return false;
}
else
{
arrayObj.push(obj);
enderecoArray = JSON.stringify(arrayObj);
$.ajax(
{
url: urlBase + "cliente/endereco",
// url: 'https://api.clouddelivery.com.br/store/cliente/endereco',
method: 'POST',
dataType: 'json',
data: JSON.stringify(
{
cliente_id: obj.idcliente,
bairro_id: obj.bairroendereco,
logradouro: obj.logradouroendereco,
numero: obj.numeroendereco,
referencia: obj.complementoendereco,
complemento: obj.complementoendereco,
cep: obj.cependereco,
}
),
success: function(data)
{
// array objeto e session storage do site
sessionStorage.setItem('dadosendereco', enderecoArray);
$(".bg-success").html(mensagemsucesso);
$(".bg-success").css('display', 'block');
alert('Endereço salvo com sucesso');
renovarToken();
$(location).attr('href', 'perfil.php');
},
error: function(data)
{
console.log("Erro. Não foi possível realizar o cadastro por endereço");
}
});
}
});
//FUNÇÃO RENOVAR O TOKEN:
function renovarToken ()
{
var id_token = sessionStorage.token;
var verificatoken = "";
$.ajax({
url: urlBase + "autenticacao",
method: 'GET',
dataType: 'json',
global: false,
success: function(data)
{
console.log(data);
/* verificatoken = parseJwt(data);
if (verificatoken)
{
alert('Token autenticado com sucesso');
}
else
{
alert('Token não autenticado');
}*/
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert("Status do Servidor: " + textStatus);
alert("Erro do Servidor: " + errorThrown);
}
});
}
// RENOVAR TOKEN INIT
function renovarTokenInit()
{
setTimeout(function ()
{
renovarToken();
setInterval(function ()
{
renovarToken();
}, 600000);
}, 5000);
}
Why don’t you use http://jqueryvalidation.org/ to validate your form? Will save you a lot of code and make it clearer where the bug might be.
– Brunno Vianna