[英]C# asp.net mvc custom error handling with JSON
我执行各种操作时会返回一个复杂的类型,而且我想知道如何传递回自定义JSON对象以显示任何错误。 考虑以下代码
业务层
public ResultObject StartJob(string jobName){
...
return new ResultObject{ErrorMessage = "Job cannot be started due to ..."};
}
控制者
[HttpPost]
public ActionResult StartJob(string jobName){
var resultObject = BusinessLayer.StartJob(jobName);
if (resultObject.HasErrors){
return Json(new {success = false, message = resultObject.message}, JsonRequestBehavior.AllowGet);
}
else{
return Json(new {success = true}, JsonRequestBeahvior.AllowGet);
}
}
当我执行ajax发布时,尽管我返回success = false,但ajax调用仍然成功,并且jQuery不调用error()方法。
此类模式会重复多次。
这里的“问题”是ajax调用成功。 当ajax调用失败时,JQuery将仅执行'error()'方法。 您应该在客户端回调中读取成功变量的值,如果为false,则调用'error()',即
if (!data.success)
{
error();
}
它会调用成功事件如果要触发错误事件,则在两者之间引发自定义异常。 保持异常未处理,它将进入错误范围。
error: function() {
.......
.......
}
或者,如果您想在Ajax内部成功处理它,请尝试
success: function(data) {
if (!data.success)
{
error();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.