@Link-Z

Как отправить данные из php в js?

В общем есть два файла js и php, js даёт ajax php и он проверяет email на наличие в БД, а вот как вернуть этот ответ в js не знаю как подскажите пожалуйста !)

AJAX запрос | Отправляет email пользователя
$.ajax({
		url: 'reg.php',
		type: 'POST',
		cache: false,
		data: {'email':email},
		dataType:'html',
		beforeSend: function(){
			$('#sendReg').prop('disabled', true);
		},
		success: function(data) {
			alert(data);
			$('#sendReg').prop('disabled', false);
		},
	});


PHP | проверка email через массив полученный с БД, и вот строку мне нужно отправить обратно в JavaScript
if($user['email'] == $email){
		$emailData = 'Уже зареган';
		echo $emailData;
		exit();
	}
  • Вопрос задан
  • 454 просмотра
Решения вопроса 3
echo 'строка';
или
echo json_encode([]);
Ответ написан
Seasle
@Seasle Куратор тега JavaScript
<?php
    // Тут Ваша бизнес-логика

    $already_registered = false;
    if (...) {
        $already_registered = true;
    }

    print(json_encode([
        'alreadyRegistered' => $already_registered
    ]));
?>

Также, как совет, не выгружайте вообще всех пользователей. Лучше использовать что-то вроде:
$statement = $pdo->prepare('SELECT * FROM `users` WHERE `email` = :email');
$statement->bindParam(':email', $email);
$statement->execute();
$users = $statement->fetchAll(PDO::FETCH_ASSOC);

Также замените это:
success: function(data) {
- alert(data);
+ console.log(data);
  $('#sendReg').prop('disabled', false);
},
Ответ написан
Комментировать
@lolzqq
HTML,CSS,JS,PHP
Эта часть js скрипта обрабатывает содержимое страницы, на которую вы отправили данные.
Переменная data и есть содержимое вашей php страницы
success: function(data) {
      alert(data);
      $('#sendReg').prop('disabled', false);
    }

А в PHP что напечатаете с помощью оператора echo - то ваш js и получит
$emailData = 'Уже зареган';
echo $emailData;


Фактически вы получаете текст, а дальше сами думаете, что с ним делать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы