Ir para conteúdo

POWERED BY:

Arquivado

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

Halt

Problemas com requisições ajax

Recommended Posts

Criei uma função em javascript que solicita ao servidor novos dados e carrega na página sem refresh:

 

var mais = 10;

$.post("carrega_dados.php", {mais: mais}, function(resposta) {

$("#div_mais_dados").append(resposta);
console.log(resposta);

});

 

Ou seja, a cada vez em que o usuário clicar na #div_mais_dados, o javascript solicita para a página carrega_dados.php mais 10 resultados, que são imprimidos na tela, porém, o problema que estou tendo é o seguinte:

 

Cada item da lista tem um botão chamado aprovar, que quando clicado, envia para o BD o valor booleano 1. Quando eu abro a página, ele carrega por padrão os 10 últimos resultados, mas se eu solicitar mais 10 resultados, ele exibe normalmente, porém se eu clicar em aprovar em um dos novos dados requisistados, ele envia a requisição para o BD e carrega a página sem dar refresh no navegador, exibindo novamente os últimos 10 resultados por padrão, e escondendo os 10 dados da lista em que solicitei.

 

Preciso fazer com que os resultados solicitados permaneçam na página, mesmo após o usuário clicar em aprovar.

 

Alguém pode me ajudar???

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

oq o clique do aprovar faz? qual o código dele ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

!!!

oq o clique do aprovar faz? qual o código dele ?

 

 

Então Bruno, o código é esse:

 

var vota = 1;     
$.post("captura_aprovacao.php", {vota: recebe_vota}, function(retorno) 
{     $("body").load("pagina.php");

});

 

Ele também faz uma requisição via ajax, e, após registrado, exibe no final da página o total de aprovações somado a ele.

 

OBS: essa pagina.php é a página que está a lista com o botão aprovar, é a página visual do cliente.


Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim amigo...

 

 

# JS

function mostrar_resultado(total){$("#sua_Div").html("carregando infor..."); $.post("pagina.php", {total:total},  function(data){$("#sua_Div").html(data); // vai mostrar o que solicitou}, "html"); }
# HTML


<a href="javascript:mostrar_resultado(5)">MOSTRAR +5</a>
<a href="javascript:mostrar_resultado(10)">MOSTRAR +10</a>
<a href="javascript:mostrar_resultado(15)">MOSTRAR +15</a>
 
<div id="sua_Div"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Cara vlw pela resposta, mas o problema que estou tendo é justamente após o usuário clicar em aprovar, ele esconde os resultados exibidos após clicar em "ver mais" (#div_mais_dados), e exibe os 10 últimos por padrão.

 

O sistema até registra o "aprovar" com o valor booleano 1.

 

Preciso fazer com que os resultados (dados da lista) permançam na página, mesmo após o usuário interagir com ele.

 

É como se houvesse um refresh sem recarregar o navegador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou usar o exemplo do twitter. Quando logamos no sistema e buscamos alguém na rede, ele exibe 30 resultados de pessoas para você seguir, se vc for até o final da página ele carrega mais 30, lembrando que todos esses resultados tem o botão de seguir. Quando você clica em seguir em um desses novos resultados gerados pelo sistema, ele processa e troca o botão para deixar de seguir. Repare que, o sistema processou a informaçao e permaneceu com a página sem alteração (exceto o botão seguir. ). Em meu sistema estou tentando fazer a mesma coisa, mantendo a página da mesma forma, e não retornando para os primeiros resultados como está acontecendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho, o problema é q o teu aprovar carrega no BODY. Ai ele apaga tudo e mostra só ele.

 

faz o seu aprovar mostrar em um lugar só, em vez de usar o body.

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho, o problema é q o teu aprovar carrega no BODY. Ai ele apaga tudo e mostra só ele.

 

faz o seu aprovar mostrar em um lugar só, em vez de usar o body.

Entendi, mas você poderia detalhar mais? como eu posso fazer?

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.