Задать вопрос
@Miron9900

Как через ajax получить данные из php файла?

Есть js файл с fetch запросом:
...
let full_name = document.querySelector('input[name="name"]').value,
    login = document.querySelector('input[name="login"]').value,
    email = document.querySelector('input[name="email"]').value,
    password = document.querySelector('input[name="password"]').value,
    password_confirm = document.querySelector('input[name="password_confirm"]').value;
  function postData() {
    let formData = new FormData();
    formData.append('name',full_name);
    formData.append('login',login);
    formData.append('email',email);
    formData.append('password',password);
    formData.append('password_confirm',password_confirm);
    formData.append('filename',avatar);
    fetch('vendor/signup.php', {method: 'POST', body: formData})
.then()
.catch()
}
postData();

И фрагмент php кода:
$check_login = $DB->prepare("SELECT * FROM signin.signin WHERE login=?");
$check_login->execute([$login]);
$count = $check_login->rowCount();
if($count>0){
    $responce = [
        "status"=>false,
        "type"=>1,
        "message"=>'Логин занят',
        "fields"=>['login']   
];
echo json_encode($responce);
die();
}

Как мне получить $responce через ajax на чистом js, чтобы с ним уже работать?
Пример jq кода, в котором выделяется input с ошибкой:
$.ajax({
            url: 'vendor/signup.php',
        type: 'POST',
        dataType: 'json',
        processData: false,
        contentType: false,
        cache: false,
        data: formData,
        success (data) {
                if(data.status) {
                    document.location.href = 'index.php';
                    $('.msg').removeClass('none').text(data.message);
                }else {
                    if(data.type === 1){
                        data.fields.forEach(function(field){
                            $(`input[name="${field}"]`).addClass('error');
                        });
                    }
                    $('.msg').removeClass('none').text(data.message);
                }
            }
        });

Или лучше сразу делать валидацию через js?
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
sslion
@sslion
Ничего не понял что тебе нужно. У тебя же и так вроде валидация идет, зачем тебе что-то менять?
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Как через ajax получить данные из php файла?


Наверное, их надо послать?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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