前端 发送 Ajax.request(method, url,callback) 嵌套请求,后端 filter 拦截 的过程

嵌套请求执行拦截器

1 . 这是自定义对象(xjsreq.js):

    function xjsReq(service, action, server) {

          //.....属性省略

      //需要重写方法

this.onSuccess = function(response) {   }

// 失败方法

        this.onFailure = function() {

.........
}
//请求成功执行方法
this.beforeSuccess = function(response) {
//....其他操作
this.onSuccess(xjs_res);

Ext.getBody().unmask();

}

        //请求方法

this.request = function() {
Ajax.request(this.method, "/server.xjs", {
success :this.beforeSuccess,
onSuccess :this.onSuccess,
failure :this.onFailure
}, this.req, {
"Content-Type" :"text/xml;charset=UTF-8"
});
}

}

2.调用上边创建的对象 (在其他js文件内)

 var r=new xjsReq('common','getUserInfo');
r.onSuccess=function(xml){

 //......其他操作

 var req = new xjsReq('common', "getMeta");
req.onSuccess = function(xjs_res) {
  ..........函数体

  }

          //在外层的onSuccess()函数内调用

 req.request();

}

r.request();

3.后台自定义filter()拦截此 /server.xjs 路径

4.执行过程::

    当执行到内层  req.request(); 时::先走到request()方法的Ajax.request(this.method, "/server.xjs",callback)这里,但不执行回      调函数. 先把上一次的success()方法执行完,在执行第二次路径拦截后的success()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值