Salvar cookie imediatamente no javascript

6 respostas
L

Fala galera!

Gostaria de saber se existe alguma forma de salvar e fixar o cookie durante a execução do javascript. Pois observei que o setCookie é executado corretamente mas o cookie só é carregado na próxima página. Digo isso porque dentro do código, chamo outra página através de um locate logo após o setCookie, e essa página vem com o cookie antigo.

Não sei se fui muito claro pois não sou muito bom para escrever. Mas se puderem me ajudar ficarei feliz.

6 Respostas

A

A setCookie recebe o nome do cookie, o valor e o tempo em segundos para expirar.
A getCookie recebe como parametro o nome do cookie e retorna o valor. Acho que vc ta interessado no setCookie

function setCookie(c_name,value,expiresecs) {
	    var exdate = new Date();
	    exdate.setTime(exdate.getTime()+ ((expiresecs) ? expiresecs*1000: 0));
	    document.cookie = c_name+ "=" +escape(value)+
	        ((expiresecs==null) ? "" : ";expires="+exdate.toGMTString());
	}  

	function getCookie(c_name) {
	    if (document.cookie.length > 0)  {
	        c_start = document.cookie.indexOf(c_name + "=");
	        if (c_start != -1) { 
	            c_start = c_start + c_name.length + 1; 
	            c_end = document.cookie.indexOf(";", c_start);
	            if (c_end == -1) c_end = document.cookie.length;
	            return unescape(document.cookie.substring(c_start,c_end));
	        } 
	    }
	    return "";
	}
L

Cara acho que agora estou entendendo o que realmente eu preciso.
Logo após a chamada do método setCookie, eu faço locate = “outra página que usa mesmo cookie”, então eu preciso que essa página já carregue o novo cookie que foi setado entende? Pois por enquanto eu verifico que o setCookie está setando corretamente, mas o getCookie da outra página carregada pega o valor do cookie anterior, ou seja, sem o efeito do set.

Pode ajudar?

A

na primeira pagina vc chama o metodo setcookie…
troca de pagina
na segunda pagina vc recupera o cookie que colocou na primeira com o metodo getcookie.

É isso?

L

isso!
mas só que o get pega o cookie anterior…
como faço pra atualizar o cookie?

A

é só chamar o setCookie denovo… usa o mesmo nome do cookie que já existe e muda o valor.

L

no cara…isso é mt estranho, porque quando eu seto o cookie e fico na mesma página o get pega o valor correto. Mas quando eu seto em uma página e logo após o set dou um locate para outra página, então parece que ele roda o locate antes do set e carraga o cookie anterior.
Já tentei dar um reload depois do set mas quando muda de página tá dificil viu…

Criado 27 de outubro de 2008
Ultima resposta 27 de out. de 2008
Respostas 6
Participantes 2