Показать сообщение отдельно
  #3 (permalink)  
Старый 02.08.2017, 20:34
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Сообщение от Nexus Посмотреть сообщение
Я всегда думал, что если делаешь дополнительную валидацию форм, то она обязана предшествовать запросу и в случае инвалидности формы не допускать создания запроса.
У вас всё наоборот)

В начало блока «success» затолкайте строку
console.log(data,data==true);

И посмотрите, что в консоль будет выведено.
НЕ СОВСЕМ ВАС ПОНЯЛ! Пожалуйста, объясните!
Я вас понял так:

function verify_auth () {
	var email = $('#inputEmail').val();
	var password = $('#inputPassword').val();

	if (email == '') {
		swal({
			title : 'Ошибка!',
			text : 'Введите email правильно!',
			type : 'error',
			confirmButtonText : '<button class="btn btn-link" style="text-decoration: none; color: white; font-size: 2rem;"> OK </button>'	
		});
		$('#inputEmail').css("border-color", "red");
	}
	else if (password == '') {
		swal({
			title : 'Ошибка!',
			text : 'Введите пароль правильно!',
			type : 'error',
			confirmButtonText : '<button class="btn btn-link" style="text-decoration: none; color: white; font-size: 2rem;"> OK </button>'	
		});
		$('#inputPassword').css("border-color", "red");
	}
	else if (!(email.match('@'))) {
		swal({
			title : 'Ошибка!',
			text : 'Адрес должен содержать символ "@", а после него домен!',
			type : 'error',
			confirmButtonText : '<button class="btn btn-link" style="text-decoration: none; color: white; font-size: 2rem;"> OK </button>'	
		});
		$('#inputEmail').css("border-color", "red");
	}
	else {
		$.ajax ({
			url : '/autorizate',
			type : 'POST',
			cache : false,
			data : {'email' : email, 'password' : password},
			dataType  : 'html',
			beforeSend : function () {
				$('#verificatebtn').attr('disabled', 'disabled');
			},
			success : function (data) {
				console.log(data,data==true);

				if (data == true) {
					$('#inputEmail').val(" ");
					$('#inputPassword').val(" ");

					swal({
						title : 'Успех!',
						text : 'Выполняется вход в ваш профиль...',
						type : 'success',
						confirmButtonText : '<button class="btn btn-link" style="text-decoration: none; color: white; font-size: 2rem;"> OK </button>'	
					});

					$('#verificatebtn').removeAttr('disabled');
				}
				else if	(data == false) {
					swal({
						title : 'Ошибка!',
						text : 'Что-то пошло не так...',
						type : 'success',
						confirmButtonText : '<button class="btn btn-link" style="text-decoration: none; color: white; font-size: 2rem;"> OK </button>'	
					});
				}
			}
		});
	}
};


Но так сервер не отвечает ничего и кнопка не возвращается в "активное" состояние. В консоли ничего, а в консоли браузера у data == true значение false

Вот код сервера:

app.post("/autorizate", urlencodedParser, function (req, res) {
	var	data = {
		email_val : req.body.email,
		password_val : req.body.password
	};

    res.send(data);
});
Ответить с цитированием