Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

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

Foto:

[Resolvido] Retorno jQuery / Ajax

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

#1 felini

felini

    Eu Mesmo

  • Membros
  • 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 ($---ec) {
    
    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!
  • 0

#2 nelsonsar

nelsonsar
  • Membros
  • 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

  • 0

#3 felini

felini

    Eu Mesmo

  • Membros
  • 153 posts

Postado 15 maio 2011 - 11:37

Fala ae Nelson,

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







  • 0




Publicidade

/ins>