2016-04-04 36 views
0

我有一個問題,比較我的記錄後,ajax調用。所以我創建了標準的ajax調用,我發送參數,我使用這些參數從我的查詢中獲取記錄。如果我沒有任何記錄,我想執行下一步,否則我會輸出警報。這裏是我使用的代碼:如何比較Ajax調用後數據爲空的記錄數?

$j.ajax({ 
    type: 'POST' 
    , url: 'Records.html' 
    , cache: false 
    , data: {'myQyery':sel,'myID':myID} 
    , async: false 
    , success: function(data) 
     { 
      var jsData = JSON.parse("{" + $j.trim(data).slice(0,-1) + "}"); 

      for(var key in jsData){ 
       if(jsData[key].duplicateID == ''){ 
        alert('Run my code')  
       }else{ 
        alert('You already signed in.') 
       } 
      } 

     } 
    , error: function(jqXHR, textStatus, errorThrown){ gwLogIt(errorThrown)} 
}); 

如果我運行這段代碼和我在我的Ajax調用後有記錄,我的代碼工作正常。響應看起來像這樣:

"1":{"duplicateID":"8"}, 

我得到第二個提示。但是如果我的Ajax調用後沒有任何記錄,我的第一個警報就不會執行。我的回覆完全是空白的,沒有任何記錄。所以我試圖比較我的數據等於'',但沒有奏效。在ajax調用之後,如果我的數據是空的,還有什麼比較方法?這樣我的第一個if語句可以被執行?

+1

檢查是否存在具有Object.keys(jsData).length'的鍵。 – Andy

+1

爲什麼不嘗試獲取數據的「長度」,如果它是0,你知道它是空的? – Adjit

+0

謝謝你們的作品。 –

回答

1

而不是檢查jsData[key].duplicateID == ''我用if(Object.keys(jsData).length == 0)。這樣,如果我沒有任何記錄返回,我的數據就等於0.

相關問題