Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Videres

[Resolvido] sober AJAX!

Recommended Posts

Boa tarde pessoal,

 

Estou criando meu site com ajax... onde esta funcionando perfeitamente....

Porém me ocorreu um problema.. quando clico nos botões voltar e avançar do browser ele n atualiza a minha pagina...

 

 

Alguém poderia me orientar para tentar resolver isso?

 

Brigadao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure por history pushState

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure por history pushState

 

beleza bruno?

 

Eu dei uma pesquisada mas ta dificil de fazer funcionar... ehheheheheheh

Tentei ate colocar assim... mas n funfou... rssrsrsr

 

function abrirPag(valor){
       var url = valor;

       history.pushState(url);
       xmlRequest.open("GET",url,true);
	xmlRequest.onreadystatechange = mudancaEstado;
       xmlRequest.send(null);



       return url;
}


 

Poderia me dar uma Luz Bruno... ehheheheheh

 

Ps.: Existe alguma forma de quando eu clico no btn voltar ou avancar do browser manipular seus valores... sei la tipo com a funcao x eu possa pegar o valor do btn do browser e atualizar minha pagina em cima desse valor?

 

Pra ser mais sincero contigo.. s tivesse outra maneira sem precisar usar algo do html 5 pra mim seria excelente.. porque nem todos os navegadores abre paginas com html 5...

 

ehehhehehehe

Vlws Bruno

abraco =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ate consegui fazer usando esse codigo:

 


window.onhashchange = function() { 


window.location.reload();

};

 

Porem, tenho dois problemas..

1- Sempre q clico em um link minha pagina é atualizada (isso so era pra ocorrer ao clicar nos btn do browser de avancar e voltar)

 

2- Quando atualizo minha pagina o conteudo inserido na pagina do banco some... =/

 

Se alguem puder dar uma força agradeco muito!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, da forma q você pediu, somente o pushState mesmo.

 

se for trabalhar com hash, tenha ciência de que os botões voltar e avançar não vão fucionar 'tão bem'.

exemplo com hash:

http://wbruno.com.br/2011/11/25/carregando-conteudo-ajax-trocando-url-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, da forma q você pediu, somente o pushState mesmo.

 

se for trabalhar com hash, tenha ciência de que os botões voltar e avançar não vão fucionar 'tão bem'.

exemplo com hash:

http://wbruno.com.br/2011/11/25/carregando-conteudo-ajax-trocando-url-jquery/

 

beleza Bruno to dando uma sacada e acho q to chegando la... ja ja qro poder postar aqui.. hehehehhehee

 

Queria te pedir ajuda em mais uma coisa... na verdade uma orientacao... srsrsrsrsrsr =P

 

Queria saber contigo se é possivel eu pegar a url q esta inserida no meu evento onclick exemplo:

 

<a  href="#php/teste" onclick='abrirPag('php/teste.php?id=$id')' ></a>

 

Pq tipo como você pode notar estou pegando um valor do id de um produto no banco com php... mas encontrei um problema...

 

Tipo com esse codigo:

 

function abrirPag(valor){
       var url = valor;
	alert("TESTANDO ENDERECO abrirPag-> "+url);
       xmlRequest.open("GET",url,true);
	xmlRequest.onreadystatechange = mudancaEstado;
       xmlRequest.send(null);

       return url;

}

 

 

Eu consigo abrir o conteudo da pagina que esta no banco file atraves do ?id=$id...

 

Mas quando atualizo minha pagina usando esse codigo:

 

window.onload = function (){
       alert("Endereco HREF-> "+location.href);
       var as = document.getElementsByTagName('a');

       for( var i=0; i<as.length; i++ ){
		as[i].onclick = function(){

			abrirPag( pega_arq( this.href ) );
		}
       }

       abrirPag( pega_arq(document.location.href ) );
}
....

function pega_arq( url2 ){

var file = url2.split('#');
var array = url2.split('?id=');

return ( file[1] ) ? file[1]+'.php' : 'php/home.php';
}

 

 

Eu perco o '?id=$id' q se encontra no 'evt onclick ' pegando a url q s encontra no meu href (#php/teste)...

 

S puder me dar uma ajuda te agradeco muito! ehhehehehe ate pq cheguei ate aqui por sua causa... Vlws mesmo... Suas orientacoes tem me ajudado bastante.. =D

 

 

Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, pq você não coloca assim:

 

<a  href="#php/teste.php?id=$id" ></a>

entendeu ?

não precisa do onclick, ai, ele já tá no js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, pq você não coloca assim:

 

<a  href="#php/teste.php?id=$id" ></a>

entendeu ?

não precisa do onclick, ai, ele já tá no js.

 

Eu tinha tentado dessa maneira.. mas n tava conseguindo fazer com que ele entre na funcao abrirPag(valor) para inserir na div content...=/

 

 

E tinha encontrado outro problema quando atualizo minha pagina.. ele entra nas funcoes

 

window.onload = function (){
       alert("Endereco HREF-> "+location.href);
       var as = document.getElementsByTagName('a');

       for( var i=0; i<as.length; i++ ){
                       as[i].onclick = function(){

                               abrirPag( pega_arq( this.href ) );
                       }
       }

       abrirPag( pega_arq(document.location.href ) );
}
....

function pega_arq( url2 ){

       var file = url2.split('#');
       var array = url2.split('?id=');

       return ( file[1] ) ? file[1]+'.php' : 'php/home.php';
}

 

Me retornando -> http://../php/teste.php?id=1.php

 

 

S puder dar uma força te agradeço!! srsrsrsrsr

 

 

Vlws mesmo... xD

 

abss

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, o "certo" é entrar nessas funções.

 

qual está sendo o seu problema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, o "certo" é entrar nessas funções.

 

qual está sendo o seu problema ?

 

 

Quando eu coloco como você me sugeriu

<a  href='#php/comunicacao/Noticias_PG/noticias_detalhe_teste.php?id=$id'  ></a>

 

Consigo mudar o link.. mas a pagina n abre por n conseguir entrar na funcao abrirPag() sem o onclick="abrirPag('')"

 

E tipo nessa pagina n posso retornar dessa maneira http://../php/teste.php?id=1.php

 

e sim -> http://../php/teste.php?id=1

 

Ps.: as outras paginas estao file.. so é uma pagina mesmo q faz interacao com o banco q ta dando esse tipo de problema...

 

N sei s to explicando direito.. se quiser posso postar todo o codigo aqui... rsrssrsr

 

vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno consegui resolver da seguinte maneira...

 

Ao inves de deixar o return ( file[1] ) ? file[1]+'.php' ... como esta abaixo


function pega_arq( url2 ){

       var file = url2.split('#');
       var array = url2.split('?id=');

       return ( file[1] ) ? file[1]+'.php' : 'php/home.php';
}


 

 

Deixei sem o .php o return ( file[1] ) ? file[1] ... como esta abaixo


function pega_arq( url2 ){

       var file = url2.split('#');
       var array = url2.split('?id=');

       return ( file[1] ) ? file[1] : 'php/home.php';
}


 

Em seguida onde tinha link coloquei .php ao invés de deixar sem exemplo

 

#php/teste [antes]
....
#php/teste.php [depois]


 

Seria bom se n precisass fazer dessa maneira... Mas fui a unica q encontrei... xD

 

Vlws Bruno.. Agora vou voltar pro Push... eheheh qualquer coisa volto a cutucar com minhas duvidas..

Brigadao pela pasciencia.. srrrsr s tiver outra forma de fazer... ou se quiser me dizer o q seria bom eu dar uma olhada q poderia resolver isso mais tranquilo... favor dar um toque.. =D

 

abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.