Array
(
)

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

Pjava
   - 13 mar 2014

Tenho esse método no Controller
#Código
[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?
#Códigofunction 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á.

Joel Rodrigues
   - 14 mar 2014

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).aspxhttp://msdn.microsoft.com/pt-br/library/cc836466(v=vs.94).aspx

0
|
0

Pjava
   - 14 mar 2014



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

#Código$(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.

#Código$("#endereco").val(this.Endereco);

0
|
0

Pjava
   - 14 mar 2014

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.

0
|
0

Joel Rodrigues
   - 14 mar 2014

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

0
|
0