Requisição AJAX com ASP NET

.NET

Ajax

30/03/2017

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

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

30/03/2017

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