返回json的问题

时间:2018-02-28 18:43:58

标签: jquery json asp.net-mvc-4

我在json中有一个函数,在这个函数中我调用一个传递string类型参数的控制器。在这个函数中,我进入数据库并检索所需的信息,所以没关系。但是我的结果没有在此视图中显示。返回错误而不是想要的信息。有人能帮助我吗?

我的代码

$('#btnPesquisarPaciente').click(function () {
    var nomePesquisado = $('#txtNomePaciente').val();
    if (nomePesquisado != '') {
        $.ajax({
            type: 'GET',
            url: "pacientes/recuperaPacientePorNome",
            data: { nomePaciente: nomePesquisado },
            success: function (data) {
                // console.log('nome encontrado' + data.NOME);
                $('#lblPaciente').text = 'fa';
                //var pacienteEncontrado = $('lblPaciente').html();
                //pacienteEncontrado.append($('<p/>').html('<b>' + paciente.NOME + '</b>'));
            },
            error: function () {
                alert('NÃO FOI POSSÍVEL ENCONTRAR ESTE PACIENTE');
            }
        })
    } else {
        alert('INFORME O NOME DO PACIENTE DESEJADO');
    }
})

我的控制器

public JsonResult recuperaPacientePorNome(string nomePaciente) {
    paciente p = null;
    if (!string.IsNullOrEmpty(nomePaciente)) {
        using(db=new crm_webEntities()) {
           p = (from x in db.paciente where x.NOME.ToUpper().StartsWith(nomePaciente.ToUpper()) select x).FirstOrDefault();
        }
    }
    return Json(p, JsonRequestBehavior.AllowGet);
}

1 个答案:

答案 0 :(得分:0)

您需要在ajax调用中对数据对象进行字符串化:

data: "{ nomePaciente: nomePesquisado }"

您还需要指定contentType:

contentType: "application/json"

请参阅jQuery Ajax参考(http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings