Usuário com melhor resposta
Não faz insert, JSON

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>
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
----------------------------------------------------------
- Sugerido como Resposta William John Adam TrindadeModerator quarta-feira, 18 de março de 2015 14:31
- Marcado como Resposta welington jrModerator quinta-feira, 14 de dezembro de 2017 18:03
-
@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
----------------------------------------------------------
- Sugerido como Resposta William John Adam TrindadeModerator sexta-feira, 24 de abril de 2015 15:42
- Marcado como Resposta welington jrModerator quinta-feira, 14 de dezembro de 2017 18:03
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
-
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
----------------------------------------------------------
- Sugerido como Resposta William John Adam TrindadeModerator quarta-feira, 18 de março de 2015 14:31
- Marcado como Resposta welington jrModerator quinta-feira, 14 de dezembro de 2017 18:03
-
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?
-
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
----------------------------------------------------------
- Editado William John Adam TrindadeModerator segunda-feira, 2 de março de 2015 18:57
-
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. -
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
-
O seu codigo nao esta errado (exceto pelo parametro). Usou o fiddler como eu sugeri?
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Editado William John Adam TrindadeModerator segunda-feira, 2 de março de 2015 19:52
-
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
-
@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
----------------------------------------------------------
- Sugerido como Resposta William John Adam TrindadeModerator sexta-feira, 24 de abril de 2015 15:42
- Marcado como Resposta welington jrModerator quinta-feira, 14 de dezembro de 2017 18:03