的情況下在ASP MVC我有一個控制器,該控制器返回JSON數據:ASP MVC和JsonResult在錯誤
public JsonResult Edit(int? id)
{
if(id==null)
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json(new { message = "Bad Request" }, JsonRequestBehavior.AllowGet);
}
car carTmp = db.car.Find(id);
if (carTmp == null)
{
Response.StatusCode = (int)HttpStatusCode.NotFound;
return Json(new { message = "Not Found" }, JsonRequestBehavior.AllowGet);
}
return Json(carTmp, JsonRequestBehavior.AllowGet);
}
我也有以下的AJAX請求:
$.getJSON("Edit/" + data, function (result) {
var car = result;
})
.error(function (error) {
alert(error.message);
})
爲什麼,在以下情況下成功,在結果對象中,我有json對象(即:我可以訪問result.id,result.name ecc ...)但在出錯的情況下,error.message是未定義的? (我有消息到error.responseJson.message)
因爲結果即將到來,我的意思是在你爲null的情況下,你正在返回一個錯誤信息,但是如果成功的話也是如此。 你可以驗證一次通過發送null到模型 –