第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET MVC Ajax錯誤處理

ASP.NET MVC Ajax錯誤處理

慕碼人2483693 2019-10-14 14:54:25
當(dāng)jquery ajax調(diào)用動作時,如何處理控制器中引發(fā)的異常?例如,我想要一個全局javascript代碼,該代碼將在ajax調(diào)用期間在任何類型的服務(wù)器異常上執(zhí)行,如果在調(diào)試模式下則顯示異常消息,或者僅顯示普通錯誤消息。在客戶端,我將在ajax錯誤上調(diào)用一個函數(shù)。在服務(wù)器端,是否需要編寫自定義的動作過濾器?
查看完整描述

3 回答

?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊

谷歌搜索后,我基于MVC操作篩選器編寫了一個簡單的異常處理:


public class HandleExceptionAttribute : HandleErrorAttribute

{

    public override void OnException(ExceptionContext filterContext)

    {

        if (filterContext.HttpContext.Request.IsAjaxRequest() && filterContext.Exception != null)

        {

            filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;

            filterContext.Result = new JsonResult

            {

                JsonRequestBehavior = JsonRequestBehavior.AllowGet,

                Data = new

                {

                    filterContext.Exception.Message,

                    filterContext.Exception.StackTrace

                }

            };

            filterContext.ExceptionHandled = true;

        }

        else

        {

            base.OnException(filterContext);

        }

    }

}

并寫在global.ascx中:


 public static void RegisterGlobalFilters(GlobalFilterCollection filters)

 {

      filters.Add(new HandleExceptionAttribute());

 }

然后在布局或母版頁上編寫此腳本:


<script type="text/javascript">

      $(document).ajaxError(function (e, jqxhr, settings, exception) {

                       e.stopPropagation();

                       if (jqxhr != null)

                           alert(jqxhr.responseText);

                     });

</script>

最后,您應(yīng)該打開自定義錯誤。然后享受它:)


查看完整回答
反對 回復(fù) 2019-10-14
  • 3 回答
  • 0 關(guān)注
  • 740 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號