猿问

如何给ajax对象传参数并重新发起请求

由于页面中存在较多ajax查询,并且使用了$.when(),因此将每个ajax定义为对象。如:


var a1 = $.post({

        url : '/report/A/rank/1',

        data: p1,

        contentType:'application/json;charset=UTF-8',

        dataType : 'json',

        success : function(data, textStatus, jqXHR) {}

    });

var a2 = $.post({

        url : '/report/A/rank/2',

        data: p1,

        contentType:'application/json;charset=UTF-8',

        dataType : 'json',

        success : function(data, textStatus, jqXHR) {}

    });

$.when(a1, a2).done(function(r1, r2) {

//此处代码略

});

现在由于另外一些需求,想要动态重新加载a1,a2和$.when(a1, a2),并把传入参数修改为p2。


备选方案:将这3个对象代码封装为1个function进行处理。但是由于页面上已经存在较多ajax并按功能进行了区分封装,如果在此基础上再次进行封装会在一定程序上影响代码的可读性,想问一下有没有简便的调用方式?


MYYA
浏览 319回答 1
1回答

慕慕森

先让p1=p2,再执行a1,a2,$.when,如果p1要恢复默认,在when的回调中对p1重新赋值。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答