AJAX 多次调用,后面的会覆盖前面的内容/数据

1.有的时候,同一个请求链接,需要传递不同的参数,发起多个请求。因此我采用了for循环。

1.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; } }); }

你可能感兴趣的:(AJAX 多次调用,后面的会覆盖前面的内容/数据)