在上一篇《MVC TIP4:为捕获路由及通用异常处理》里,我们讲了如何捕获MVC WEB站点的未捕获异常,这里我们还要解决一个问题,就是JQuery Ajax异常的捕获。Ajax异常的捕获仍旧需要借助于全局的ErrorController控制器,及其视图,在Views的Error文件夹下的Index视图。

我们知道,一个Ajax调用,通常像如下的形式:

MVC TIP5:JQuery AJAX错误捕获

如果调用出错,也就是调用CityController控制的GetProvince方法出错,假设throw new Exception(“出错啦”);。那么图中2处返回的就是Index.aspx的整个静态化HTML,查看Index.aspx:

MVC TIP5:JQuery AJAX错误捕获

其整个静态化的HTML,将会包含很多内容。当然其中也包括了我们需要的Exception的Message,我们仅仅需要这部分的内容。

于是我们首先需要在出错视图中定义一个ErrorMsg的ID,见图中。然后,我们的JQuery编码如下:

var $errorPage = XmlHttpRequest.responseText;
alert($("#ErrorMsg", $errorPage).text());
//alert($("#ErrorMsg", XmlHttpRequest.responseText).text());

注意,我们也可以拿注释掉的那行代码来代替。整体意思就是取出XmlHttpRequest.responseText,然后查找到ErrorMsg,然后显式出来。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-16
  • 2021-08-15
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
相关资源
相似解决方案