2017-02-08 10 views
0

私の学校のプロジェクトを作成しています。Ajax dbからデータを取得し、配列に格納して条件を作成します

私はすべてのqueue_idをデータベースから取得して一時的な配列に格納するために4秒ごとに実行されるjavascriptで関数を作成しており、それを格納すると4秒ごとに別のものが取得されます私のデータベースから同じものを取得し、それが等しいかどうかをチェックします.1,2,3,4のデータベースからqueue_idの結果を得た場合、次の4秒のクエリは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秒ごとに実行されるように、このコードを試してみましたが、それは私が欲しいもののように動作しません、それはテストにalert("HI");ます条件if(tmpCountQ[j] != lastCon[j])を満たしていませんそれが満足しているかどうか。

enter image description here

第一JSONは私に2,3を与え、次は1,3であるので、それは私にHIの警告を与える必要があります:第一で、第二は、このコードからデータを返され、ここで、私を助けてください。私は

答えて

0

あなたは、あなたの配列が空であることを再割り当てするのを助ける必要があるので、あなたのチェックinitialArrayに[0] ===未定義それはスキップします - 感謝

助けてくださいが、stackoverflowのからここに誰が...助けてくださいとにかくあなたの配列は十分です

宣言を移動します var lastCon = []; outside of この関数は、これをグローバルにしますが、これは望ましくないかもしれませんが、コードを修正します。

+0

私がしたいものを満たすために私のコードを編集してください。 –

+0

コードを変更して、配列の長さを比較するのではなく、それらを文字列に変更して比較する。 – Barrard

+0

すみません、私は問題のコードをチェックするのを忘れました。私は間違ったコードを投稿していた。私は私の質問を更新しました。 –

関連する問題