Requisição AJAX com ASP NET

30/03/2017

0

Bom dia!

Fiz uma requisição ajax, mas a mesma não chama o controller, quando debugo o javascript nunca cai em success e pelo console aparece Erro no processamento de XML.
Já estou tentando resolver isso faz 3 dias e nada.

Obrigado!

--> CONTROLLER
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Cadastro(Pedido pedido)
        {
            if (ModelState.IsValid)
            {
                var appPedido = new PedidoAplicacao();
                appPedido.Salvar(pedido);
                return RedirectToAction("Index");

            }
            return Json(new { Resultado = pedido.Id }, JsonRequestBehavior.AllowGet);
        }
 




-- > VIEW

@model ProjetoCompleto.Dominio.Pedido

@{
    ViewBag.Title = "Cadastrar";
}

<h2>Cadastrar</h2>

@using (Html.BeginForm("Cadastro", "Pedido", FormMethod.Post))
{ 


    <div class="form-horizontal">
        <h4>Pedido</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.Data, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Data, new { htmlAttributes = new { @class = "form-control data" } })
                @Html.ValidationMessageFor(model => model.Data, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Valor, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Valor, new { htmlAttributes = new { @class = "form-control vlr" } })
                @Html.ValidationMessageFor(model => model.Valor, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <a href="#" class="btn btn-success" id="SalvarPedido"> Salvar Pedido </a>
            </div>
        </div>



--> JAVASCRIPT
function SalvarPedido() {


var valor = $('#Valor').val();
var cadastro = $('#Data').val();


var url = '/Pedidos/Cadastro';

$.ajax({

url: '/Pedidos/Cadastro' ,
type: "POST",
datatypes: "json",
contentType: 'application/json; charset=utf-8',
data: { Id: 0, Data: cadastro, Valor: valor },
success: function (data) {
if (data.Resultado > 0) {
alert('ola');
}
}

})

}
Core

Core

Responder

Posts

04/08/2017

Joel Rodrigues

Aparentemente sua action está retornando um redirect, ou seja, está redirecionado para outra página ao invés de retornar um valor processavel.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar