设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

Ajax.Pro错误信息处理

作者:佚名 出处:网络转载 时间:08-15 点击:

内容载入中...
版权声明: upschool.com.cn 在使用Ajax.Pro的过程中,发现如果要在客户端做错误处理,就必须在每一个callback函数中进行判断错误对象是否为空,每个callback函数里就会出现类似这样的代码:
function callback(res)
{
   
if(res.error)
   
{
      alert(res.error.Message);
   }

   
else
   
{
      alert(res.value);
      
   }

}
这样用起来总感觉有点不爽,所以写了个通用的处理错误信息的方法。
function callback(res)
        
{
            
if(res.error)
            
{
                
var errorMessage = null;
                
if(res.context && res.errorMessage)
                
{
                    errorMessage 
= res.context.errorMessage + "" + res.error.Message;
                }

                
else
                
{
                    errorMessage 
= res.error.Message;
                }

                alert(errorMessage);
            }

            
else
            
{
                
if(res.context)
                
{
                    
var objCallback = null;
                    
if(Function.isFunction(res.context))
                    
{
                        objCallback 
= res.context;
                    }

                    
else if(res.context.callback)
                    
{
                        objCallback 
= res.context.callback.bind(res.context);
                    }

                    
if(objCallback != null) objCallback(res);
                }

            }

        }
这只是一个处理错误信息的函数,如果调用对象有自己的回调函数,那么在服务器请求正确的情况下,它还会调用对象本身的回调函数,下面来说一个获取服务器时间的简单调用示例:
var getServerTime = {
            errorMessage : 
"获取服务器时间出错",
            eventObject : 
null,
            run : 
function()
            
{
                
if(this.eventObject == null)
                    
this.eventObject = event.srcElement;
                MyTest.GetServerTime(callback,
this);//调用服务器方法
            }
,
            callback : 
function(res)
            
{
                
this.eventObject.value = res.value;
                setTimeout(
this.run.bind(this),1000);
            }

        }
<input id="btnGetServerTime" type="button" value="GetServerTime" onclick="getServerTime.run()" />
收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口
<< 上一篇 :ViewState初探

站长学院

推荐信息