Preencher campos com retorno de função json com jquery

13/03/2014

0

Tenho esse método no Controller
[HttpPost]
        public JsonResult PreencheEndereco(string _cpf)
        {
            AgaxturCmsEntities db = new AgaxturCmsEntities();

            try
            {
                var Result = (from a in db.TB_CLIENTES
                              where a.CdCliente == "1" && a.CPF == _cpf
                                select new {
                                    
                                   a.Endereco,
                                   a.Numero,
                                   a.CEP,
                                   a.Complmento,
                                   a.Telefone,
                                   a.Celular
                                
                                }).ToList();

                return Json(new { Result }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json(new { Result = ex.Message }, JsonRequestBehavior.AllowGet);
            }
        }


O que eu preciso é fazer uma função jquery e preencher esses 6 campos retornados pela função. Esse é meu esqueleto da função, mas como eu faço agora para preencher?

function PreencheEndereco() {

    $.ajax({
        url: '/Passos/PreencheEndereco',
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        type: "POST",
        success: function (data) {

            $(data.resultado).each(function () {

            });
        },
        error: function (error) {

        }
    });
}


Agradeço a todos desde já.
Pjava

Pjava

Responder

Posts

14/03/2014

Joel Rodrigues

Você pode converter o JSON para um objeto e acessar suas propriedades. Veja esse link: http://msdn.microsoft.com/pt-br/library/cc836466(v=vs.94).aspx[url:descricao=http://msdn.microsoft.com/pt-br/library/cc836466(v=vs.94).aspx]http://msdn.microsoft.com/pt-br/library/cc836466(v=vs.94).aspx[/url]
Responder

14/03/2014

Pjava



Bem, fui rtetirando os erros e consegui fazer a minha controller funcionar. Refiz a função jquery e ficou assim:

$(function () {

        $("#btnEndereco").click(function () {
            $.ajax({
                url: '/Passo/PreencheEndereco',
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                type: "POST",
                data: JSON.stringify({ _cpf: $("#CPF").val() }),
                success: function (data) {

                    $(data.Result).each(function () {

                        $("#endereco").val(this.Endereco);

                    });

                },
                error: function (error) {

                }
            });
        });
    });


Agora nessa linha que acho que deveria inserir o retorno do banco no campo, não funciona. Gostaria de saber se é necessário mais alguma coisa.

$("#endereco").val(this.Endereco);

Responder

14/03/2014

Pjava

Resolvido. Erro de BIOS. Havioa uma div com o mesmo nome da id endereco e por isso acho que o jquery ficava meio maluco e não sabia quem preencher. Está funcionando.
Responder

14/03/2014

Joel Rodrigues

Legal, só não entendi por que usar a função each se só vai ter um objeto retornando da função.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar