2015-12-14 3 views
-4

Не следует обрабатывать ajax, когда значение переменной (selectedFriendsList) пусто или равно нулю. Но здесь всегда будет, если условие. Ниже пример кода,Как проверить значение переменной javascript пустым ИЛИ null?

if(selectedFriendsList.length != 0 && selectedFriendsList !=null) 
{  
    $.ajax({ 
     type: "POST", 
     url: "ajaxShareOnFriends.php", 
     data: {"postID" : postID, "selectedFriendsList" : selectedFriendsList},  
     success: function(data){ 
       if(data) 
       { 
        alert("Shared Successfully!"); 
       } 
       else 
       { 
        alert("Shared Failed!") 
       } 
      //alert("data=="+data);   
      //$("#total_comment").html(data); 
     } 
    }); 
} 
else{ alert("Please Select Friends!");} 
+5

'' null'' и 'null' - это не одно и то же. Первая строка. Если вы хотите проверить «null», обязательно используйте «null» без кавычек, а также инициализируйте переменную «null». Существует также разница между переменной, которая является «null» и переменной, которая вообще не объявлена. – GolezTrol

ответ

1

если это строка, то вы colud использовать, если проверить, если он не равен нулю, Becase как null и '' equeal нулю:

var selectedFriendsList; 
 

 
selectedFriendsList = ''; 
 
if(selectedFriendsList) document.write('this wont be logged'); 
 

 
selectedFriendsList = null; 
 
if(selectedFriendsList) document.write('this wont be logged'); 
 

 

 
selectedFriendsList = '123123'; 
 
if(selectedFriendsList) document.write('this will be logged');

+1

Спасибо MoLow, его работая отлично также я ясно моя ошибка. Много спасибо! –

+0

, чтобы вы могли отметить ответ как правильный, если он ... – MoLow

1

Вы можете просто попробовать, как это:

if(selectedFriendsList) 

Это будет вычисляться верно, когда selectedFriendsList не является нулевым, неопределен, пустая строка, 0.

Чтобы добавить к нему, при проверке, selectedFriendsList !='null', тогда он проверяет строковый литерал 'null' не null в соответствии с вашим ожиданием.

+0

Это очень плохой ответ от пользователя 80K. Без немного объяснения о том, что не так в вопросе и почему это исправит его, ответ не поможет OP, и особенно не для будущих посетителей. -это-хорошо, добавление делает его лучше ... – GolezTrol

+0

Это не правильно. Он всегда разрешает, когда результат пуст или нулевым. –

1

Вам не нужно .length здесь , Пустая строка оценивает значение false.

var str = ""; 
 

 
if(str) { 
 
    console.log('not empty'); 
 
} else { 
 
    console.log('empty'); 
 
}

0

Вы можете использовать !!variable трюк (не нет). Он оценивает либо true если variable что-нибудь отличается от null, undefined, '' (пустой строки), или false для любого из указанных вариантов ... в ваших терминах:

if (!!selectedFriendsList) { 
    //do your stuff here.. 
} 

примерах:

!!'';   // false 
!!'bla';  // true 
!!null;  // false 
!!undefined; // false 
!!'null';  // true, since 'null' is a non empty string... 
!!true;  // true 
!!false;  //false 
Смежные вопросы