Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Estou desenvolvendo uma lista de Casamento, está faltando a parte de enviar o item para o carrinho de compras:
Os produtos estão listados em uma table, onde tenho uma linha para cada produto:
Produto - Qtde Solicitada - Qtde Comprada - Valor - Quantidade - Comprar
eu tenho que enviar para o carrinho os seguintes dados
Número da lista de casamento
Produto
Quantidade a comprar
ação adicionar
quero enviar esses dados por post e ao clicar em comprar o cliente/convidado possa vizualizar o carrinho e prosseguir sua compra ou não.
Estou tentando assim:
<script type="text/javascript">
//envia produto para o carrinho
$(".botao_comprar").live('click', function(){
//Pegando os valores que foram digitados no formulário.
var lista =$("#lista").val();
var qtdade =$(this).parents('tr').find('.quantidade').val();
var produto =$(this).attr('rel');
var acao ="adicionar;$.post("carrinho.php", { acao:acao, lista:lista, qtdade:qtdade, produto:produto }, function(get_retorno) {
alert(get_retorno);
});
});
</script>
Mas assim eu não consigo listar os dados enviados para o carrinho.
Desde já agradeço a quem puder me ajudar nesta
Está sendo passado sim,
mas em vez de ir para a página carrinho.php ele abre um alert com o código fonte incompleto.
Como faço para enviar os dados e ficar na página carrinho.php?
grata
regina
>
... com o código fonte incompleto. ...
nao entendi esse problema.
Em relacao ao que esta acontecendo, a funcao $.post apenas manda a requisicao para o servidor e aguarda uma resposta, ela nao te manda para lugar algum, ao menos que voce faça isso apos receber a resposta. O que eu recomendaria era que voce colocasse o html da resposta dentro de um container. Faz de conta que você tem la uma div #conteudo. Basta colocar $('#conteudo').html(resposta), onde resposta é a variavel com a resposta do $.post, no seu caso, get_retorno. Dessa forma, a pagina carrinho.php ficaria dentro da div #conteudo.
Olá paulojuchem
Agradeço a atenção.
Então não tem como eu enviar esses dados e enviar o visitante para a página carrinho.php?
E tem como eu retornar o código da sessão para eu poder redirecioná-lo posteriormente com para o carrinho?
>
Então não tem como eu enviar esses dados e enviar o visitante para a página carrinho.php?
E tem como eu retornar o código da sessão para eu poder redirecioná-lo posteriormente com para o carrinho?
Conhece JSON? Caso nao, de uma olhada. Atravez do JSON voce pode mandar os dados e retornar uma array no formato JSON. ficaria algo semelhante a isso no php
$resposta['sucesso'] = true;
$resposta['sessao'] = o_que_voce_quiser_aqui;
echo json_encode($resposta);
e a sua requsicao no JS ficaria semelhante a isso:
$.post("algum_lugar_que_cria_o_carrinho_ou_pega_a_sessao", { acao:acao, lista:lista, qtdade:qtdade, produto:produto }, function(get_retorno) {
if(get_retorno.sucesso)
window.location = "/carrinho.php?idSessao="+get_retorno.sessao;
},'json');
agora no carrinho php, você poderia pegar a sessao por get
$sessao = $_GET['idSessao'];
do meu ponto ve vista, json é o formato mais f#da que existe no universo, tudo o que eu faco hoje em dia utiliza o JSON para se comunicar com o servidor.
Lembrando que esse é apenas um exemplo funcional de como poderia ser, você pode mudar muita coisa, e provavelmente vai...
Coloque um alert antes do post e verifique se os dados estão sendo passados corretamente.
alert("list: " + lista + " qtd: " + qtdade + " prod: " + produto + " acao: " + acao);