一个AJAX发起多个请求
有的时候,同一个请求链接,需要传递不同的参数,发起多个请求。因此我采用了for循环。
1.此处是需要传递的参数
function behavioranalysisReqstue(type) {
var typeStr = "newUsers";
switch (type){
case 1:
typeStr = "newUsers";break;
case 2:
typeStr = "activeUsers";break;
case 3:
typeStr = "newUsersCount";break;
case 4:
typeStr = "activeUsersCount";break;
case 5:
typeStr = "orderVolume";break;
case 6:
typeStr = "userFollow";break;
case 7:
typeStr = "notActive";break;
}
return {
"seachTime":seachTime,
"startDate":startDate,
"endDate":endDate,
"type":typeStr,
"index":type,
}
}
2.此处为AJAX请求,调用了传递参数的方法。
注意:变量o定义为了常量,是因为AJAX是异步的,会导致AJAX里面switch不管是否执行完毕,都会取index的值。
其中根据behavioranalysisReqstue方法,返回的index值,调用不同的函数渲染页面。
var isPopupMsg=true;
for (var i = 1; i < 8; i++) {
const o=behavioranalysisReqstue(i);
$.post(DYD.U(behavioranalysisList1Url),o,function(data,textStatus){
layer.close(loading);
var jsonData = DYD.toJson(data);
if(jsonData.code==-1){
if (isPopupMsg) {
isPopupMsg=false;
layer.msg(jsonData.msg);
}
return;
}
switch (o.index){
case 1:
//新增用户数
$("#newAddUser").text(jsonData);
break;
case 2:
//活跃用户数
$("#dynamicUser").text(jsonData)
break;
case 3:
//新增用户统计
newAddUserData(jsonData);
break;
case 4:
dynamic(jsonData);
break;
case 5:
//成交量前十名客户
userTopTen(jsonData.orderVolume);
break;
case 6:
// 用户关注点分析表格数据
focusCount_table(jsonData);
break;
case 7:
//调用近期未活跃用户排行表格数据
lazyUser_table(jsonData);
break;
}
});
}