none
Não faz insert, JSON RRS feed

  • Pergunta

  • Galera estou tentando fazer um insert via ajax mais não estou conseguindo:

    Metódo de salvar no controller:

    public ActionResult SalvaPagamento(int idRestaurante, int idFormaPagamento)
            {
    
                tbgRestauranteFormaPagamento pagamento = new tbgRestauranteFormaPagamento { idRestaurante = Convert.ToInt32(idRestaurante), idFormaPagamento = Convert.ToInt32(idFormaPagamento) };
                restaurantePagamentoDAO.salvaPagamento(pagamento);
                return RedirectToAction("CadastroPagamentoRestaurante");
            }

    Função para salvar no javascript:

    function salvar() {
                var url = "@Url.Action("SalvaPagamento", "FormaPagamento")";
                var params = { idRestauraurante: $('#idRestaurante').val(), idFormaPagamento: $('#pagamentoNaoContem').val() };
                $.post(url, params);
    
    }

    Está associada ao botão salvar:

    <button class="btn btn-default btn-sm move-left" onclick="salvar()" id="enviar">
                    <span class="glyphicon glyphicon-chevron-left"></span>
    </button>

    segunda-feira, 2 de março de 2015 18:25

Respostas

  • Sugiro vc usar o Fiddler para ver se realmente o JQuery dispara o metodo SalvaPagamento

    Mas creio que seja por causa do parametro:  idRestauraurante que é diferente de idRestaurante.

    att



    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 2 de março de 2015 18:45
    Moderador
  • @Jr_inc,

    Creio que vai dar errado tambem. Com a query string "idRestauraurante" nao vai encontar um metodo que seja compativel pois foi definido como SalvaPagamento(int idRestaurante

    Colocando um em baixo do outro fica evidente onde esta o erro:

    • idRestauraurante
    • idRestaurante

    Espero que o Raniel de um feedback para podermos fechar esta thread.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quinta-feira, 5 de março de 2015 18:50
    Moderador

Todas as Respostas

  • Raniel,

    Entendo que da forma como vc implementou seu método, será preciso passar uma URL como em que os dois parâmetros fossem parte da URL e não como um objeto JSON. Vc teria que alterar o código Javascript para que gere uma URL como:

    /FormaPagamento/SalvaPagamento?idRestaurante=10&idFormaPagamento=20

    segunda-feira, 2 de março de 2015 18:44
  • Sugiro vc usar o Fiddler para ver se realmente o JQuery dispara o metodo SalvaPagamento

    Mas creio que seja por causa do parametro:  idRestauraurante que é diferente de idRestaurante.

    att



    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 2 de março de 2015 18:45
    Moderador
  • Raniel,

    Entendo que da forma como vc implementou seu método, será preciso passar uma URL como em que os dois parâmetros fossem parte da URL e não como um objeto JSON. Vc teria que alterar o código Javascript para que gere uma URL como:

    /FormaPagamento/SalvaPagamento?idRestaurante=10&idFormaPagamento=20

    Tem um exemplo ai com JSON?

    segunda-feira, 2 de março de 2015 18:53
  • Voce leu minha resposta?

    aparentemente seu codigo esta certo, o que esta errado é nome do parametro no seu JSON.. Desta forma ela nao esta encontando nenhum metodo que tenha um parametro idRestauraurante

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    segunda-feira, 2 de março de 2015 18:55
    Moderador
  • Voce leu minha resposta?

    aparentemente seu codigo esta certo, o que esta errado é nome do parametro no seu JSON.. Desta forma ela nao esta encontando nenhum metodo que tenha um parametro idRestauraurante

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    Opa amigo vi agora, obrigado por ver esse erro irei testa, muito obrigado pela observação.
    segunda-feira, 2 de março de 2015 19:02
  • Voce leu minha resposta?

    aparentemente seu codigo esta certo, o que esta errado é nome do parametro no seu JSON.. Desta forma ela nao esta encontando nenhum metodo que tenha um parametro idRestauraurante

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    Opa amigo vi agora, obrigado por ver esse erro irei testa, muito obrigado pela observação.

    Gostaria de um exemplo com JSON

    segunda-feira, 2 de março de 2015 19:21
  • O seu codigo nao esta errado (exceto pelo parametro). Usou o fiddler como eu sugeri?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    segunda-feira, 2 de março de 2015 19:39
    Moderador
  • Raniel, dentro de varias formas, segue a que eu faço aqui via Ajax


    [HttpPost]
    public ActionResult SalvaPagamento(int idRestaurante, int idFormaPagamento)
            {

                tbgRestauranteFormaPagamento pagamento = new tbgRestauranteFormaPagamento { idRestaurante = Convert.ToInt32(idRestaurante), idFormaPagamento = Convert.ToInt32(idFormaPagamento) };
                restaurantePagamentoDAO.salvaPagamento(pagamento);
                
            }



     $('#ButtonSalvar').click(function () {
                var x = 0;
                $.ajax({
                    url: '/FormaPagamento/SalvaPagamento?idRestauraurante=' $('#idRestaurante').val(), idFormaPagamento: $('#pagamentoNaoContem').val()
                type: 'POST' //ou o tipo que vc precisar
            }).success(x = 1);
            if(x == 1)
            {
                alert('Salvo com sucesso');
            }
            });


                     


    Junior Santana


    • Editado Jr_inc quinta-feira, 5 de março de 2015 18:45
    quinta-feira, 5 de março de 2015 18:43
  • @Jr_inc,

    Creio que vai dar errado tambem. Com a query string "idRestauraurante" nao vai encontar um metodo que seja compativel pois foi definido como SalvaPagamento(int idRestaurante

    Colocando um em baixo do outro fica evidente onde esta o erro:

    • idRestauraurante
    • idRestaurante

    Espero que o Raniel de um feedback para podermos fechar esta thread.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quinta-feira, 5 de março de 2015 18:50
    Moderador