A. 需求说明发现有不少网友在用 AjaxPro,看大家提供的代码示例,基本上都没有进行错误处理,
甚至很多朋友都不知道,对于 AjaxPro 返回的响应结果对象有一个 error 属性表示是否发生了错误。
AjaxPro 服务端采取基于异常的处理方式,假如调用发生异常,
返回的 error 属性包含了该异常( Exception 对象)的相关信息,包括错误信息,堆栈信息,引发异常的方法和对象。这里提供自己实际使用 AjaxPro 中对于错误处理实用函数,通过一个窗口级的自定义变量,可以简单的实现
Debug 和 Release 版本切换。Debug 版本显示服务器端详细异常错误,Release 版本显示自定义信息。B. 如何实现只有一个函数: function showAjaxProError(error, customMessage)// defines a variable indicating the application is under debug version
// comments the line out when releasing the application
// if(!window.AjaxProDEBUG) { window.AjaxProDEBUG = true; }
function showAjaxProError(error, customMessage)
{
    if(!window.AjaxProDEBUG) {
        var msg = !customMessage ? error.Message : customMessage;
        alert("系统错误\n\n" + msg);        
    } else {
        var win = window.open("AjaxProError", "");
        var doc = win.document;    
        doc.write("<html><head><title>AjaxProError:")
        doc.write(error.Type);
        doc.write("</title></head><body><div><h3>");
        doc.write("AjaxPro 调用发生未处理的异常");
        doc.write("</h3>");
        doc.write("<pre>");
        doc.write("Type" + ":\n   " + error.Type + "\n"); // 异常类型
        doc.write("Message" + ":\n   " + error.Message + "\n"); // 异常信息  
        doc.write("Stack" + ":\n" + error.Stack + "\n"); // 堆栈跟踪
        doc.write("TargetSite" + ":\n   " + error.TargetSite + "\n"); // 引发异常的方法
        doc.write("Source" + ":\n   " + error.Source + "\n"); // 导致异常的对象 
        doc.write("</pre>");    
        doc.write((new Date()).toLocaleString());
        doc.write("<br/><br/>");
        doc.write("<input type='button' value='close' onclick='window.close()' />");
        doc.write("</div>");
        doc.close();
    }
    return false; 
}
C. 如何使用function displayServerDateTime() {
        var res = AjaxProSample.GetServerDateTime2(document.getElementById("chkGenError").checked);
        if(res.error) return showAjaxProError(res.error);
        alert("DateTime from Web Server is " + res.value.toLocaleString());
    }
    
    function showServerDateTime()
    {   
        var callback = function(res) {
            if(res.error) return showAjaxProError(res.error);
            var spnServerTime = document.getElementById("spnServerTime");        
            spnServerTime.innerHTML = res.value.toLocaleString();    
        }        
        AjaxProSample.GetServerDateTime(callback);        
    }D. 更多信息完整示例及下载链接:一种简单实用的 AjaxPro 错误处理方式 
http://www.cnblogs.com/Jinglecat/archive/2007/07/14/817812.htmlE. 谢谢大家不管如何,请多多拍砖;
如果刚好适合你的需求,请收藏之;
Good Luck!