Ajax.Pro错误信息处理

在使用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()"   />

 

http://www.cnblogs.com/ideas/archive/2006/08/15/477647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值