1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajax Response

Discussão em 'Web Development' iniciada por Gurzi, 30 de Março de 2008. (Respostas: 10; Visualizações: 1125)

  1. Gurzi

    Gurzi Power Member

    Boas malta,

    De momento estou a utilizar o mootools para usar o Ajax.
    Tenho uma dúvida que preciso que me ajudem a resolver.
    Tenho duas divs, uma central e uma lateral, na central aparece o conteúdo e na lateral o login.

    Na div central tenho um conteúdo que para poder aceder às opcções( reserva do alojamento ) é necessário elaborar o login.

    Como isto tudo é dinâmico, quando se faz login a div central não se mexe. Arranjei uma solução com SESSION em PHP que me diz qual a última página que o user esteve para depois de efectuar o login eu mudar o conteúdo da div central através do Ajax.

    Só que fiz isto na página de resposta do login.

    <script type="text/javascript">
    putMeOn(<?php echo $_SESSION['last_page'];?>);
    </script>

    Mas ele não faz NADA!, ou seja, aliás.. se eu for ao Response do Ajax ele mostra isto:

    Bem Vindo tiago<script type="text/javascript"> putMeOn(quarto.php?idQuarto=1);</script><ul> <li><a href="" onclick="minhas_reservas();return false;"> Reservas</a></li> <li><a href="" onclick="meusDados(1);return false;"> Meu Profile</a></li> <li><a href="" onclick="meusFavoritos(1);return false;"> Meus Favoritos</a></li> <li><a href="" onclick="logout();return false;">Sair</a></li></ul>


    Que é literalmente o que aparece na página.

    Ou seja, aquele script não está a ser executado, porque se estivesse, estaria a mudar o conteúdo central.


    Alguem tem alguma ideia ?
     
  2. hostmake

    hostmake Power Member

    O teu post está um bocado confuso, re-explica lá outra vez qual é o problema em concreto!
     
  3. Gurzi

    Gurzi Power Member

    ou seja, tenho duas divs, a div central e a div lateral.

    Na div central aparece todo o conteúdo e na div lateral aparece o formulário de login ou as opcções de logado.

    Na div central neste momento tenho uma reserva de alojamentos que só funciona quando estás logado. Se a pessoa não está logada, vê na div lateral o formulário de login e ao elaborar o login a div central não se mexe, porque só a div do login é que sofre alterações. E Eu queria mudar o conteúdo da div central também e para isso coloquei no ficheiro.php que é o que vai mudar a div lateral aquele script em Javascript para chamar a função que iria alterar o conteúdo da div central. Mas não está a ter efeito nenhum :S
     
  4. hostmake

    hostmake Power Member

    se esse modulo de AJAX for decente, ele deve-te permitir fazer varias acções e não apenas um retorno, é que se não der esquece.

    É assim, muitos dos ficheiros, so permitem um return, ou é atribuir o resultado do PHP a uma div, ou fazer um alert,.

    Portanto o que tu estás a fazer é fazer um 'echo' basicamente, de uma linha de JS mas ela não corre porque não estás em onLoad...portanto se quiseres alterar várias div's tens que optimizar um bocado o modulo AJAX, ou arranjar um mais potente.

    Eu como uso bases minhas e não conheço o mootools... não te sei dizer ao certo :P
     
  5. Gurzi

    Gurzi Power Member

    pois.. estava a tentar com um alert e estava a funcionar muito bem, então fiquei a pensar porque raio não estava a função a funcionar. :(


    que soluções tenho ?
     
  6. K0mA

    K0mA Power Member

    Boas,

    Se fizeste "na página de resposta do login" então ele não vai encontrar o div central ou vai?
     
  7. hostmake

    hostmake Power Member

    k0ma, o ajax retorna para a pagina incial, seja.. ya ia encontrar se o ajax conseguisse executar comandos dentro do comando, mas não pode, procura outra aplicação de ajax mais potente, ou faz uma personalizada.
     
  8. Gurzi

    Gurzi Power Member

    o que queres dizer com comandos dentro do comando ? :x
     
  9. hostmake

    hostmake Power Member

    Tu na pagina tens a div de login, e a div central.


    Quando tu tens uma execução de ajax no login, o que acontece é que ele faz retornode algo para essa div.

    Se nesse retorno puseres funções javascript, é indiferente, o browser não as corrre.


    Precisas de arranjar maneira de o teu ajax, novo modulo ou fazeres tu algo, que ele faça 2 retornos em simultâneo.


    (Podias por exemplo no teu script de Ajax onde tu especificas para onde vai o conteudo actualizado, escrever uma linha por baixo que chame o conteúdo para a div central e a actualize, mas é claro que este ficheiro depois só ficava com efeito para login e mostrar conteúdos no meio)
     
  10. Gurzi

    Gurzi Power Member


    o problema é que isso não é global, não é algo que funcione sempre que é chamado o login.
    è apenas para quando é chamado o login e esteja na página de reservar alojamentos(que também vem por ajax ) :P
     
  11. hostmake

    hostmake Power Member

    se o ajax é apenas para o login mais uma razão para poderes fazer o que eu disse, não sei se percebi
     

Partilhar esta Página