Ajax Форматирование ответа - PullRequest
0 голосов
/ 16 марта 2020

У меня есть регистрация пользователя для моего веб-сайта, в которой при нажатии кнопки регистрации выполняется запрос ajax. Этот запрос обрабатывает проверку, а также добавление пользователя в базу данных. У меня все работает, но есть небольшая проблема, которую я хотел бы исправить. В моей обработке ошибок ответ может возвращать код состояния http 400 либо с отсутствующим полем, либо с неверным сообщением поля. Для этих сообщений я бы хотел, чтобы предложение до разрыва строки отображалось в одной строке, а затем предложение после разрыва строки отображается в новой строке.

PHP :

// If all the previous steps are valid and variables are set, try to run the SQL query to make new account.
if (isset($firstname) && isset($surname) && isset($email) && isset($usernameSignup) && isset($passwordHash)) {
    try {
        // code to add user to database not included but is here
    } catch (PDOException $e) {
        http_response_code(400);
        die("Email or Username Already Exists.\n Make sure these fields are valid before trying again.");
    }
} else {
    http_response_code(400);
    die("Missing Field(s).\n Make sure there are no empty fields before trying again.");
}

JS:

$.ajax({
    type: "post",
    url: "userRegistration.php",
    data: {
    },
    dataType: "json",
    success: function(xhr) {
      // Success handler code
      }
    },
    error: function(xhr) {
      // Default error handler code
    },
    statusCode: {
      400: function(res) {
        console.log(res);
        console.log(res.status);
        console.log(res.responseText);
        $("#loadingIcon").addClass("d-none");
        $("#errorResponse").removeClass("d-none");
        $("#errorMessage").text("An error occured: " + res.responseText);
      }
    }
});

What it looks like now

Я хотел бы «Убедитесь, что нет пустых полей, прежде чем пытаться снова», чтобы быть в новой строке. Если возможно, я также хотел бы выделить «Пропавшие поля» жирным шрифтом.

1 Ответ

1 голос
/ 17 марта 2020

Добавьте html теги к вашему тексту:

die("<b>Missing Field(s).</b><br /> Make sure there are no empty fields before trying again.");

Затем измените js:

$("#errorMessage").html("An error occured:<br />" + res.responseText);

Вам необходимо использовать функцию html(), так как ваш текст содержит html тегов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...