How to request via post for action by AJAX?

Asked

Viewed 1,606 times

3

I cannot access my action through 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);
            }
        });
}

3 answers

1

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 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/

0

 var dados = { codigoPessoa: codigoPessoa, descricao: descricao};    
$.ajax({
                        type: "POST",
                        url: "@Url.Action("Action", "Controller")",
                        contentType: "application/json",
                        data: JSON.stringify(dados),
                        datatype: "html",
                        success: function (data) {})
    });

0

The URL is valid?

Javascript error occurring before completing the request?

In the key data found an error, at the last value you added a comma at the end of the line (CodigoProcedimento: codigoProcedimento,), remove it.

To see the response return you can use console.log(data)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.