Ajax从db获取数据并将其存储在数组中并在其中创建条件

时间:2017-02-08 00:36:02

标签: javascript php jquery ajax

我正在为我的学校做一个项目。我对这种情况感到困惑:

我在javascript中创建一个函数,每4秒运行一次,从我的数据库中获取所有的queue_id并将其存储在一个临时数组中,并且在存储它之后,每隔4秒,我将从我的数据库获得另一个相同的数据并检查是否相等,如果我的1,2,3,4数据库中有一个queue_id结果,那么我的下一个4secs查询是1,3,4,5那么我会做点什么。或者如果它返回1,2,3,4,5,6然后我会做同样的,如果它不同,但如果它再次返回1,2,3,4,5,6或相同的上一个查询我不会做某事。

以下是代码:

function check_getqueue(clinicID, userID) {
  var tmpCountQ = [];
  var lastCon = [];
  $.ajax({
    url: siteurl+"sec_myclinic/checkingUpdates/"+clinicID+"/"+userID,
    type: "POST",
    dataType: "JSON",
    success: function(data) {
      for(var i=0;i<data.length;i++) {
        tmpCountQ.push(data[i]['queue_id']);
      };
      if(typeof lastCon[0] != "undefined")
      {
        for(j=0;j < tmpCountQ.length;j++)
        {
          if(tmpCountQ[j] != lastCon[j])
          {
            alert("HI");
            lastCon[j] = tmpCountQ[j];
          } 
        }
      }
      else
      {
       lastCon = tmpCountQ;
      }

      console.log(tmpCountQ);
    }
  });
}

我尝试将此代码每4秒运行一次,但它不能像我想要的那样工作,它不满足条件if(tmpCountQ[j] != lastCon[j]) alert("HI");来测试它是否存在满意。请帮帮我,这是此代码中的第一个和第二个返回的数据:

enter image description here

它必须给我一个HI的警报,因为第一个JSON给我2,3,而下一个是1,3。请帮忙..谢谢

请帮助,Stackoverflow的任何人 - 我需要帮助

1 个答案:

答案 0 :(得分:0)

你重新分配你的数组是空的,所以你对initialArray [0] === undefined的检查将导致它跳过比较,但你的数组仍然是无论如何

移动声明      var lastCon = []; 在外面 该函数,这将导致它是全局的,这可能是不可取的,但它将修复代码。