Ajax 架构中回调函数的使用

Ajax 架构中回调函数的使用

 

Servlet中有如下方法:
ciqsciManager.saveBody(b);
现在可以在其参数中增加一个回调方法
有如下两种情况.
(1)
  ciqsciManager.saveBody(b, function(backContent) {
    insertRow(b);  //在客户端页面上增加一行记录
    alert("结果"+backContent);
   }
  );
也就是说,增加了如下参数
   function(backContent) {
    insertRow(b);  //在客户端页面上增加一行记录
    alert("结果"+backContent);
   }
其中backContent是ciqsciManager.saveBody(b)的返回值,类型可以是Void,String,int等,也可以是List.

如果ciqsciManager.saveBody(b)执行成功,
则调用 上述function,执行js function : insertRow(b); 和 alert("结果"+backContent);
如果ciqsciManager.saveBody(b)执行失败,则不执行该js function,

另外执行失败后,还要判断ciqsciManager.saveBody(b)是否有抛出异常,
如果有,则把异常内容alert出来.
如果没有,则不错任何操作.

另外,我们还可以指定ciqsciManager.saveBody(b)执行失败后的操作
见第(2)种方法.

(2)
我们在ciqsciManager.saveBody(b)中插入一个对象作为最后一个参数:
该参数是个对象, 用{}括在一起.
其中有两个function,一个是callback,一个是errorHandler,
如果ciqsciManager.saveBody(b)执行成功,则执行callback,否则执行errorHandler.
其中errorHandler: function(e) 中的e是ciqsciManager.saveBody(b) 抛出的异常内容.

  {
   callback: function(del) {
    insertRow(b);
   },
   errorHandler: function(e) {
    alert("报错内容: "+e);
     }
  }

整个代码如下:

  ciqsciManager.saveBody(b, {
   callback: function(del) {
    insertRow(b);
   },
   errorHandler: function(e) {
    alert("报错内容: "+e);
     }
  });


回调函数的用处很大!
因为有时,我们需要根据后台操作的结果来做出不同的js代码响应.
举个例子:
我要向DB里插入一条记录,
如果插入成功了,我们就用js在客户端页面上也插入一条记录
如果插入失败了,就不做此操作,或者输出报错信息等.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值