Como faço para pegar Cookies, no lugar de token?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como faço para pegar Cookies, no lugar de token?
Oi Gisiona tudo bem?
Em Javascript Vanilla eu faço assim:
document.cookie = "yummy_cookie=choco";
document.cookie = "tasty_cookie=strawberry";
console.log(document.cookie);
// logs "yummy_cookie=choco; tasty_cookie=strawberry"Não sei se em Angular tem outro jeito mas o jeito Vanilla é tão simples já.
Para saber mais:
https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Cookies
Espero ter ajudado!!!
Pode parecer uma dúvida, boba, mas sou iniciante. Se o servidor enviar 5 cookies, supondo, eu posso usar o document.cookie 'nomeDoCookie' cinco vezes com o nome de cada cookie que o servidor enviar?
E como eu faço para pegar esses cookies que foram enviados pelo servidor, e que estão no cliente? é usando document.cooki='titulo1= comoPegarEsseTituloQueFoirEnviadoPeloServidor?'
document.cooki='titulo2= comoPegarEsseTituloQueFoirEnviadoPeloServidor?'
document.cooki='titulo3= comoPegarEsseTituloQueFoirEnviadoPeloServidor?'
document.cooki='titulo4= comoPegarEsseTituloQueFoirEnviadoPeloServidor?'
document.cooki='titulo5= comoPegarEsseTituloQueFoirEnviadoPeloServidor?'
Fiz um exemplo que acho que vai clarear.
Testa no Firefox porque o Google não deixa ficar usando cookies em página locais (não sei porque).
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Cookies</title>
</head>
<body>
<h1>Selecione a cor de fundo favorita e recarregue a página para ver que a seleção permanece.</h1>
<input type='color' value='#ffffff' id='cor' onchange="trocarCor()">
<script>
var corFavorita='white';
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
if (getCookie("corFavorita")!=''){
corFavorita=getCookie("corFavorita");
document.body.style.background=corFavorita;
}
function trocarCor(){
corFavorita=document.getElementById("cor").value;
setCookie("corFavorita", corFavorita, 365)
document.body.style.background=corFavorita;
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
</script>
</body>
</html>Essa página pergunta para você qual cor você mais gosta e troca o background dela e guarda em um cookie que irá expirar daqui 365 dias.
Não é uma pergunta boba a sua, mas parece haver todo um misticismo sobre o cookie e na verdade ele é bem simples. É uma string que fica guardada no seu computador em alguma pasta que seu navegador escolheu salvar. E essa string pode ser salva e lida pelo seu navegador quando um site mandar.
O cookie fica guardado localmente no seu computador e não no servidor. Então para pegar ele você usa a funçãozinha getCookie que coloquei no código.
Dá para ver a lista de cookies de um site apertando F12 no Firefox e depois indo em Storage no menu de cima, e depois Cookies no menu da esquerda.
Caramba, muito obrigado. Você me ajudou demais. Obrigado mesmo. Estava com muita dificuldade de entender o funcionamento e tal. Agora consegui entender. : )
Disponha e bons estudos!!!