@My1Name

Почему не выполненяется условие?

Есть функция выполняющая AJAX запрос и принимающая объект типа JSON. Необходимо выполнить простую проверку условия (истина/ложь) и показать диалоговое окно alert(1); Как бы я не писал условие: с двумя равно, с восклицательным знаком или с тремя равно, условие не выполняется.
$.ajax({
//...
        data: formData,
        dataType : 'json',
	success	: function(data){
		thisForm = {
			emailError : data.emailError,
			passwordError : data.passwordError,
			settings : data.settings
			}
		let settings = thisForm.settings, flag = USER.flag;
		alert (settings + ' + '+ flag); // тут смотрю, что всё правильно
           	if (settings==true && flag==true){
           	   alert(1); // dead code
           	   return;
           	}
           	if (settings==false)
           	   setErrorMessages(mod, thisForm);
		else{
 		   alert(2);
		}
            },
            error: function(){
                console.log('Error occurred!');
            }
        });

Почему не выполненяется условие if (settings==true && flag==true)?
По отдельности, если например написать if(settings) или if(flag) оно работает. А вместе - никак.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
console.log(typeof settings);
console.log(typeof flag);

Почти уверен что там будет строка в одном или обоих случаях. Поэтому проверка и не работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы