mvc ajax错误500,ASP.NET MVC Ajax错误处理

我做了一个快速的解决方案,因为我没有时间,而且还可以。尽管我认为更好的选择是使用异常过滤器,但是在需要简单解决方案的情况下,也许我的解决方案可以提供帮助。

我做了以下。在控制器方法中,我返回了一个JsonResult,其数据内部具有属性“ Success”:

[HttpPut]

public JsonResult UpdateEmployeeConfig(EmployeConfig employeToSave)

{

if (!ModelState.IsValid)

{

return new JsonResult

{

Data = new { ErrorMessage = "Model is not valid", Success = false },

ContentEncoding = System.Text.Encoding.UTF8,

JsonRequestBehavior = JsonRequestBehavior.DenyGet

};

}

try

{

MyDbContext db = new MyDbContext();

db.Entry(employeToSave).State = EntityState.Modified;

db.SaveChanges();

DTO.EmployeConfig user = (DTO.EmployeConfig)Session["EmployeLoggin"];

if (employeToSave.Id == user.Id)

{

user.Company = employeToSave.Company;

user.Language = employeToSave.Language;

user.Money = employeToSave.Money;

user.CostCenter = employeToSave.CostCenter;

Session["EmployeLoggin"] = user;

}

}

catch (Exception ex)

{

return new JsonResult

{

Data = new { ErrorMessage = ex.Message, Success = false },

ContentEncoding = System.Text.Encoding.UTF8,

JsonRequestBehavior = JsonRequestBehavior.DenyGet

};

}

return new JsonResult() { Data = new { Success = true }, };

}

稍后在ajax调用中,我只是要求此属性知道我是否有异常:

$.ajax({

url: 'UpdateEmployeeConfig',

type: 'PUT',

data: JSON.stringify(EmployeConfig),

contentType: "application/json;charset=utf-8",

success: function (data) {

if (data.Success) {

//This is for the example. Please do something prettier for the user, :)

alert('All was really ok');

}

else {

alert('Oups.. we had errors: ' + data.ErrorMessage);

}

},

error: function (request, status, error) {

alert('oh, errors here. The call to the server is not working.')

}

});

希望这可以帮助。快乐的代码!:P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值