Ir para o conteúdo

Foto:

[Resolvido] Retorno jQuery / Ajax


  • Por favor, faça o login para responder
2 respostas neste tópico

#1 felini

felini
  • felini
  • Eu Mesmo
  • 153 posts

Postado 14 maio 2011 - 22:09

Boa noite!

Estou fazendo um sistema que irá gravar dados no banco de dados com jQuery e Ajax.

A parte que grava está funcionando, porém gostaria de fazer a parte que busca estes dados gravados. Atualmente meu Ajax está desta forma:


		var sArquivoUrl = "ajax/cores.AJAX.php";
		var oParam      = new Object();
				oParam.cor  = sCor;
				oParam.exec = "cadastrarCor";

		var oAjax = $.ajax({
												url: sArquivoUrl,
												beforeSend: function (){
													$('#divSucesso').show();
													$('#divSucesso').html("Cadastrando Cor...");
												},
												type: "post",
												data: oParam,
												complete: function (){
													$('#divSucesso').html("Cadastro efetuado com sucesso.");
													$('#divSucesso').hide(2500);
												}
	  									 });


O meu arquivo PHP está desta forma:


  switch ($sExec) {
    
    case "cadastrarCor":
      $cor->sCor = addslashes($_POST["cor"]);
      $cor->cadastrar();
      $cor->iId;
      
      
    break;
  }


Iria criar um novo case = "listaCor". Este case irá buscar os dados no banco de dados e me retornar. Porém como retorno isso para a página que irá executar o Ajax? Tentei passar por jSON mas não deu muito certo.

Pesquisei na internet e no site oficial o jQuery e não tinha nada referente a tratamento de retorno do Ajax.

Alguém tem uma dica ou link que possa me dar uma idéia?

Valeu!

#2 nelsonsar

nelsonsar
  • nelsonsar
  • 92 posts

Postado 15 maio 2011 - 01:58

Cara, você pode usar JSON mesmo! No php você cria uma função que retorna, por exemplo, um array e, ao invés de usar "return" para o retornar o valor você usa "echo json_encode". No parâmetro "complete" da função AJAX você não pode esquecer de passar um parâmetro para a function e, usar $.parseJSON para utilizar os dados retornados pelo PHP.

Aqui você acha uma referência de como usar o json_encode. Vou alterar seu código para você ter uma idéia:

var oAjax = $.ajax({
    url: sArquivoUrl,
    beforeSend: function (){
        $('#divSucesso').show();
        $('#divSucesso').html("Cadastrando Cor...");
    },
    type: "post",
    data: oParam,
    complete: function (data) //É aqui que você diz para o AJAX que a função tem um retorno {
        //Aqui você transforma o retorno JSON em objeto para facilitar o uso
        data = $.parseJSON(data);
        $('#divSucesso').html("Cadastro efetuado com sucesso.");
        $('#divSucesso').hide(2500);
    }
});

Qualquer coisa estamos aí!

Editado por William Bruno, 15 maio 2011 - 04:38 .
Remover quote desnecessário


#3 felini

felini
  • felini
  • Eu Mesmo
  • 153 posts

Postado 15 maio 2011 - 11:37

Fala ae Nelson,

Valeu pela ajuda cara, consegui fazer o que queria. Ta tudo funcionando agora :)











1 usuário(s) está(ão) lendo este tópico

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Últimas Notícias no Portal iMasters

Para IBM, 1,5 bilhão de pessoas usa redes sociais regularmente

Relatório da empresa prevê que, nos próximos dois anos, aproximadamente 70% das organizações irão aumentar os investimentos em tecnologias móveis.

Ver mais notícias