我正在尝试从控制器获取数据并使用ajax更新我的视图。
这是我的控制者:
public class PatientController
{
DatabaseContext db = new DatabaseContext();
public JsonResult GetPatientFromCpr()
{
var patient = db.Patients.FirstOrDefault(p => p.Cpr == "2410911615");
return new JsonResult() { Data = patient, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
这是我的ajax电话:
function getPatient() {
cpr2 = $("#cpr-first").val() + $("#cpr-last").val();
$.ajax(
{
url: '/Patient/GetPatientFromCpr',
dataType: 'json',
success: function () {
alert("success");
},
error: function () {
alert("error");
},
});
}
当我调用该函数时,我总是收到错误提示。
GET http://localhost:51140/Patient/GetPatientFromCpr 404 (Not Found)
有人可以指出什么是错的吗?
(编辑) 添加“:Controller”后,我现在收到一个新错误
GET http://localhost:51140/Patient/GetPatientFromCpr 500 (Internal Server Error)
答案 0 :(得分:1)
您的患者控制器'不是Controller
(它不会从Controller
继承)
public class PatientController : Controller
{
....
}
答案 1 :(得分:0)
使用PatientController
Base Controller Class
public class PatientController : Controller
在控制器中
public JsonResult GetPatientFromCpr()
{
var patient = db.Patients.where(p => p.Cpr == "2410911615").FirstOrDefault();
return new JsonResult() { Data = patient, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
并指定调用ajax的类型
type: "POST" or type: "GET" ....
这将帮助您修复错误
答案 2 :(得分:0)
尝试使用此功能,可能会有效.. !!
查看:
function getPatient() {
cpr2 = $("#cpr-first").val() + $("#cpr-last").val();
$.ajax(
{
url: '/Patient/GetPatientFromCpr',
//dataType: 'json',
type:"POST", // GET or POST
success: function () {
alert("success");
},
error: function () {
alert("error");
},
});
}
控制器:
public class PatientController : Controller
{
....
}