Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Trabalhar com Cookie

Como faço para pegar Cookies, no lugar de token?

5 respostas

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?'

solução!

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!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software