sexta-feira, 14 de março de 2014

Populando combo com Ajax no Laravel 4

Olá galera,

Esse vídeo tutorial é para atender uma solicitação do nosso amigo Carlo Caetano. Para exemplificar o pedido, vamos utilizar Estados e Municípios em combos. Como nos vídeos anteriores, recomendo que a visualização do vídeo seja feita em alta resolução, de preferência em HD, por conta dos códigos exibidos.

Os arquivos do projeto base podem ser baixados aqui.

Os arquivos que foram alterados e criados podem ser baixados aqui. Fiquem a vontade para enviar dúvidas ou sugestões.

Um grande abraço a todos e até a próxima.

10 comentários:

  1. Valeu Benício pelo post e pela citação!

    Realmente muito bom da forma que implementou e com certeza ajudou e ajudará muito nos projetos.

    Um Abraço,

    ResponderExcluir
    Respostas
    1. Olá Carlo,

      Fico feliz que a implementação tenha correspondido as suas expectativas.

      Grande abraço

      Excluir
  2. ola, Benicio...
    Foi bem facil, utilizar seu post.
    Mas como tudo não é perfeito, gostaria de saber se seria possivel ter em uma mesma pagina mais de um select: tipo um select estado que iria pouplar municipios, e outro select empresa que iria popular departamentos.

    ResponderExcluir
    Respostas
    1. Olá Giovani,

      É possível sim. Se você notar no ajax, ação está ligada ao elemento que contém o id=estado e id=municipio. Dessa forma podemos ter vários combos que populam outros.

      Abraço

      Excluir
  3. Respostas
    1. Olá Felipe,

      O procedimento é o mesmo com relação a popular o combo. Você só precisará ajustar a parte do Route::filter ou você pode passar o token no beforeSend do Ajax caso esteja utilizando jQuery.

      Abraço

      Excluir
  4. Show este post, parabéns Benicio. Você poderia exemplificar como fazer isso "passar o token no beforeSend do Ajax caso esteja utilizando jQuery." É que sou iniciante. Uso o laravel 5.1. Obrigado.

    ResponderExcluir
    Respostas
    1. Olá benite,

      O primeiro ponto é você colocar esse código no head da sua página <meta name="token" content="{{ Session::token() }}">

      Já no Javascript, pode declarar uma variável para receber o valor var token = $("meta[name='token']").attr('content');

      No Ajax basta você acrescentar beforeSend: function(request) {
      return request.setRequestHeader("X-CSRF-Token", token);
      }

      Lembrando que o beforeSend é um parâmetro como success ou error.

      Abraço

      Excluir
  5. Olá Benicio, muito obrigado pela dica, deu certinho.

    ResponderExcluir