加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC:使用自定义错误消息向jQuery发信号

发布时间:2020-12-16 06:58:03 所属栏目:asp.Net 来源:网络整理
导读:控制器:产品和动作:保存,返回JsonResult.如果发生了捕获异常,我想通过自定义错误消息向客户端(即:jQuery)发出错误信号.我怎样才能在服务器和客户端上做到这一点?我可以在这种情况下利用函数指针错误吗? 这是客户端代码 $.ajax({ url: '/Products/Save',
控制器:产品和动作:保存,返回JsonResult.如果发生了捕获异常,我想通过自定义错误消息向客户端(即:jQuery)发出错误信号.我怎样才能在服务器和客户端上做到这一点?我可以在这种情况下利用函数指针错误吗?

这是客户端代码

$.ajax({
                url: '/Products/Save',type: 'POST',dataType: 'json',data: ProductJson,contentType: 'application/json; charset=utf-8',error: function ()
                {
                    //Display some custom error message that was generated from the server
                },success: function (data) {
                    // Product was saved! Yay

                }
            });

解决方法

请求失败时调用您引用的错误函数(意味着您的控制器操作未成功完成;例如,当用户发出请求时IIS已关闭).见 http://api.jquery.com/jQuery.ajax/.

如果您的控制器操作已成功联系,并且您希望让客户端知道控制器操作中发生的错误,则应返回包含客户端JS将理解的Error或ErrorCode属性的JsonResult.

例如,您的控制器操作可能如下所示:

public ActionResult Save()
{
   ActionResult result;
   try 
   {
      // An error occurs
   }
   catch(Exception)
   {
      result = new JsonResult() 
      { 
        // Probably include a more detailed error message.
        Data = new { Error = true,ErrorMessage = "Product could not be saved." } 
      };
   }
   return result;
}

您将编写以下JavaScript来解析该错误:

$.ajax({
  url: '/Products/Save','POST','json',ProductJson,'application/json; charset=utf-8',error: function ()
   {
      //Display some custom error message that was generated from the server
   },success: function (data) {
      if (data.Error) {
         window.alert(data.ErrorMessage);
      }
      else {
         // Product was saved! Yay
      }
   }
});

希望有所帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读