none
dificuldades com a ajax RRS feed

  • Pergunta

  • Ola pessoal. eu não tenho muita experiência com ajax e vou precisar de uma moral ai de vcs.
    Criei um form de cadastro, e queria que quando eu digitasse o cep, os outros campos fossem preenchidos.

    No código ajax que eu fiz, eu consigo acessar o método na controller, mas não consigo pegar o retorno.
    Pessoal, muito obrigado!

    $(document).ready(function () {
        $("#btnBuscarCep").click(function (evt) {
            evt.preventDefault();
            var cep = $("#txtCep").val();
            BuscarCep(cep);        
        });
    });
    
    var BuscarCep = function (id) {
        $.ajax({
            url: '/Membro/BuscaCep/',
            type: 'GET',
            cache: false,
            async: false,
            data: {method:'BuscaCep', Id: id},
            dataType:"text",
            successs: function (data) {            
                $("#txtBairro").val(data);
            }     
        });
    }
    
    //codigo da action na controller
    
    public ActionResult BuscaCep(int? id)
            {
                Membro = new Membro();
                IAplicacao<Endereco> servico = new EnderecoAplicacao();
                Membro.Endereco = servico.BuscarPorId(id);
                return View(Membro);
            }


    Ricardo Soares

    quinta-feira, 28 de agosto de 2014 18:30

Respostas

  • var BuscarCep = function (id) {
        $.ajax({
            url: '/Membro/BuscaCep/',
            type: 'GET',
            cache: false,
            async: false,
            data: {Id: id},
            dataType:"json",
            successs: function (data) {            
                $("#txtBairro").val(data);
            }     
        });
    }


    public ActionResult BuscaCep(int? id) { Membro = new Membro(); IAplicacao<Endereco> servico = new EnderecoAplicacao();var modelo = servico.BuscarPorId(id); return Json(modelo, JsonRequestBehavior.AllowGet); }


    Thiago Custodio | Software Engineer
    Blog
    Twitter
    Faça parte da Comunidade Windows Azure Brasil no Facebook

    quinta-feira, 28 de agosto de 2014 19:23

Todas as Respostas

  • var BuscarCep = function (id) {
        $.ajax({
            url: '/Membro/BuscaCep/',
            type: 'GET',
            cache: false,
            async: false,
            data: {Id: id},
            dataType:"json",
            successs: function (data) {            
                $("#txtBairro").val(data);
            }     
        });
    }


    public ActionResult BuscaCep(int? id) { Membro = new Membro(); IAplicacao<Endereco> servico = new EnderecoAplicacao();var modelo = servico.BuscarPorId(id); return Json(modelo, JsonRequestBehavior.AllowGet); }


    Thiago Custodio | Software Engineer
    Blog
    Twitter
    Faça parte da Comunidade Windows Azure Brasil no Facebook

    quinta-feira, 28 de agosto de 2014 19:23
  • Olá Ricardo!

    BuscarCep ta retornando uma view

    Tente isto

    public ActionResult BuscaCep(int? id)
            {
                Membro = new Membro();
                IAplicacao<Endereco> servico = new EnderecoAplicacao();
                Membro.Endereco = servico.BuscarPorId(id);
               // return View(Membro);
    
                  return Content(Membro.Endereco);
            }
     :)

    quinta-feira, 28 de agosto de 2014 19:28
  • entendi, o que seria o content?

    pow cara eu to começando agora no mvc, por isso que to perguntando. vlw


    Ricardo Soares

    sexta-feira, 29 de agosto de 2014 20:32
  • Caro Ricardo...

    Tudo bem :) , eu sugerí para usar ContentResult porque vc nao precisa retornar uma view, mas uma string, entao é melhor usar return

    return Content(Membro.Endereco);

    De fato, ache que  até pode usar

    return Membro.Endereco;

    se tem a certeza de que seu action vai retornar sempre uma string

    http://msdn.microsoft.com/en-us/library/system.web.mvc.contentresult(v=vs.118).aspx

    sábado, 30 de agosto de 2014 19:28