Показать сообщение отдельно
  #1 (permalink)  
Старый 22.02.2022, 20:47
Интересующийся
Отправить личное сообщение для Andrew2108 Посмотреть профиль Найти все сообщения от Andrew2108
 
Регистрация: 18.02.2022
Сообщений: 22

AJAX ответ от сервера в формате JSON
Приветствую, проблема заключается в расшифровке JSON формата
Вот сам запрос:
$.ajax({
 		method: "POST",
  		url: "/Register/Register.php",
  		//dataType: 'json',
		data: { 
			login:loginVal,
			password:passwordVal,
			password2:password2Val,
			email:emailVal,
			name:nameVal
		}
	})
		.done (function(msg)
		{
		a = JSON.parse(msg);
		logInfo = "Этот логин уже занят введите другой";
		emailInfo = "Этот адрес уже занят введите другой";
		if (a===logInfo)
		{
			setErrorFor(login, logInfo);
		}
		else if(a===emailInfo)
		{
			setSuccessFor(login);
			setErrorFor(email, emailInfo)
		}
		else
		{
			$('input.login').val('');
			$('input.password1').val('');
			$('input.password2').val('');
			$('input.email').val('');
			$('input.name').val('');
			alert("Вы успешно зарегистрировались!");
		}


что значит получить ответ в формате JSON ???

Насколько я понял это нужно сделать так:
$emailinfo = json_encode('Этот адрес уже занят');
echo $emailinfo;


я зашифровал его в JSON и отправляю ответом на AJAX запрос в JS script. После я его декодирую и сверяю, если он подходит, то добавляю в базу данные.
НО он то добавляет и останавливается , почему-то в JSON.parse попадает уже расшифрованное значение ответа и следовательно выдаёт ошибку : "Uncaught SyntaxError: Unexpected token В in JSON at position 0" - а сообщение в нём "вы успешно зарегистрировались".
Он почему-то ходит по циклу, т.е. когда сообщение уже сыграло свою роль и выгрузилось из памяти в него загружается пустое значение и я не могу понять почему.

Помогите пожалуйста разобраться в чём дело.

Последний раз редактировалось Andrew2108, 22.02.2022 в 20:52. Причина: Выявил доп. неисправность
Ответить с цитированием