2017-08-19 66 views
0

這是ajax函數,我想要當數據是nullundefined比輸出(#access element)顯示爲空「」(或不保存任何在輸出數據時爲空或找不到)檢查AJAX響應數據是否爲空或空比不顯示在輸出

$(function(){ 

    $('#userId').on('keyup', function() { 
     var value=$(this).val(); 
     $.ajax('/projectname/admin/getUserAccess/' + value, 
     { 
      dataType: 'JSON', 
      success: function(data){ 

       var str = data.access.replaceAll(/\|/g, ','); 
       var result = str.substring(1, str.length - 1); 

       $("#access").val(result); 

      } 
     }); 
    }); 
    }); 
+0

'如果(數據){//做的東西}' –

+0

你可以用IF(data.length> 0).... – Ajay2707

+0

通過KEYUP謝謝你的答覆,其顯示最後的數據還沒有籤,我想清除最後的數據 – ARROW

回答

0

只需添加一個條件來檢查,如果數據存在或不作爲

If(data) { 
    var str = data.access.replaceAll(/\|/g, ','); 
    var result = str.substring(1, str.length - 1); 

    $("#access").val(result); 
} 
+0

謝謝reply.its顯示的最後一個數據通過keyup但 – ARROW

+0

這是'如果不'如果' –

+0

謝謝保羅..錯別字錯誤。 –

0

我建議增加一個簡單的泛型函數來檢查空/未定義因爲這對您的項目的其他部分也很方便。通用功能是這樣的: -

function isEmpty(value) {//Function to check if value is Empty or Null 
       switch (typeof(value)) { 
       case "string": return (value.length === 0); 
       case "number": 
       case "boolean": return false; 
       case "undefined": return true; 
       case "object": return !value ? true : false; // handling for null. 
       default: return !value ? true : false 
       } 
      } 

如下然後更新您的成功: -

success: function(data){ 
    if(isEmpty(data)){ 
     $("#access").html(data); //Notice it is Html and not val as you want data displayed 
    }else { 
     window.alert('Nothing Returned');//If at all you want an Alert 
     $("#access").html('');//Sets the $("#access") with nothing to display 
    } 

我希望這可以解決的障礙

+0

嗨,謝謝你的幫助 – ARROW

+0

請點擊上箭頭和檢查箭頭,如果你發現我的答案有幫助,請投票。 –

0

謝謝所有評論和答案我瞭解更多其他答案的東西:) 我增加了行$(「#access」).val(「」)並修正了問題。

 success: function(data){ 
      $("#access").val(""); 
      var str = data.access.replaceAll(/\|/g, ','); 
      var result = str.substring(1, str.length - 1); 

      $("#access").val(result); 

     }