天天看点

MVC TIP5:JQuery AJAX错误捕获

在上一篇《

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,然后显式出来。

MVC TIP5:JQuery AJAX错误捕获

本文基于

Creative Commons Attribution 2.5 China Mainland License

发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名

http://www.cnblogs.com/luminji

(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

继续阅读