MVC TIP5:JQuery AJAX错误捕获

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

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

image

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

image

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

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

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

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

posted @ 2011-08-01 11:24  陆敏技  阅读(2809)  评论(0编辑  收藏  举报
Web Counter
Coupon for Contacts