我在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);
}
答案 0 :(得分:0)
您需要在ajax调用中对数据对象进行字符串化:
data: "{ nomePaciente: nomePesquisado }"
您还需要指定contentType:
contentType: "application/json"
请参阅jQuery Ajax参考(http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings)