jquery – How to make a request via post to the action by AJAX?

Question:

I can't access my action via the ajax request:

        <legend>Procedimento:</legend>
@Html.HiddenFor(p => p.CodigoProcedimento, new { id = "codProcedimento", name = "codProcedimento" })

@Html.HiddenFor(p => p.CodigoPessoa, new { id="codigoPessoa",name="codigoPessoa"}) 

@Html.Label("Descrição: ")
@Html.TextBoxFor(p => p.Descricao, new { maxlength = "30", id = "descricao", name = "descricao" })
@Html.Label("Palavra chave: ")
@Html.TextBoxFor(p => p.PalavraChave, new { maxlength = "50", id = "palavraChave", name = "palavraChave" })
@Html.Label("Pergunta Panico: ")
@Html.TextAreaFor(p => p.PerguntaPanico, new { maxlength = "50", id = "perguntaPanico", name = "perguntaPanico" })
@Html.Label("Resposta Panico: ")
@Html.TextBoxFor(p => p.RespostaPanico, new { maxlength = "50", id = "respostaPanico", name = "respostaPanico" })
<br /><br />
@Html.Label("Procedimento Panico: ")
@Html.TextAreaFor(p => p.ProcedimentoPanico, new { maxlength = "80", id = "procedimentoPanico", name = "procedimentoPanico" })
@Html.Label("Adicionar Contactado: ")
@Html.DropDownListFor(s => s.CodContactadoPessoa, Model.ContactadoPessoa, new { id = "CodContactadoPessoa", name = "CodContactadoPessoa" })
<img src="~/Content/images/plus-18.png" onclick="atualizarCampos()"/>


         function atualizarCampos(){
    var codigoPessoa = $("#codigoPessoa").val();
    var descricao = $("#descricao").val();
    var palavraChave = $("#palavraChave").val();
    var perguntaPanico = $("#perguntaPanico").val();
    var respostaPanico = $("#respostaPanico").val();
    var procedimentoPanico = $("#procedimentoPanico").val();
    var temp = $("#CodContactadoPessoa").val();
    var codigoContactado = temp.options[temp.selectedIndex].value;
    var codigoProcedimento = $("#codProcedimento").val();


    $.ajax(
        {
            type: 'POST',
            url: '/Master/EditarProcedimentoAContacto',
            data:
                {
                    CodigoPessoa: codigoPessoa,
                    Descricao: descricao,
                    PalavraChave: palavraChave,
                    PerguntaPanico: perguntaPanico,
                    RespostaPanico: respostaPanico,
                    ProcedimentoPanico: procedimentoPanico,
                    CodPessoaProcedimento: codigoContactado,                       
                    CodigoProcedimento: codigoProcedimento,
                },
            success: function (data) {
                //alert("oi");
                $('#procedimentoresult').html(data);
            }
        });
}

Answer:

If you have the latest versions of jQuery try using the latest version for AJAX declaration:

$.ajax({
    type: 'POST',
    url: 'SuaURL',
    data: {
        valor1: valor1,
        valor2: valor2
    }
}).done(function (data) {
    console.log(data); 
}).error(function (data) {
    console.log(data);
});

As other users have said check:

  • If your URL is valid;
  • If you are sending a return; ie -> (echo json_encode($retorno)) on the page where you receive the post;

Example: http://jsfiddle.net/rafaelwithoeft/dr1mdynL/5/

Scroll to Top