У меня есть простая, но работающая форма AJAX с использованием jQuery. Форма проверяется с помощью jQuery перед отправкой, а затем после успешной отправки снова с PHP.Отправка данных с PHP на jQuery
Единственная проблема - обработка ошибок. Когда PHP-проверка вернет, что все поля в порядке, я показываю сообщение об успешном завершении. Если произошла ошибка, я просто показываю «была ошибка».
Как я могу отправить данные с PHP на jQuery, поэтому недопустимые поля могут быть помечены как недопустимые?
Или такая форма обработки ошибок не нужна, поскольку динамическая подсветка требует включения JavaScript, и если JavaScript включен, форма не может быть отправлена неправильно?
В основном, мои действительные чеки выглядеть следующим образом (упрощенный конечно):
function checkSomething($something) {
$valid = true;
if (strlen($something) === 0) {
$valid = false;
}
return $valid;
}
В конце сценария, я делаю это так:
if (checkSomething($something) && checkThis($this) && checkThat($that)) {
echo "success";
} else {
echo "error";
}
И в моем JavaScript/JQuery код выглядит следующим образом:
$.ajax({
url: "form.php",
type: "POST",
data: string,
success: function (result) {
if (result == "success") {
alert("success");
} else {
alert("error");
}
}
});
Вам нужно еще что-то повторить с PHP, который сообщает вам, что не удалось, а затем обработать этот ответ с помощью JS, чтобы показать, какое сообщение подходит. Отправьте некоторый код и покажите нам, как вы его настроили сейчас, и вам будет легче помочь. – adeneo
Если у вас включена проверка JQuery и включена JS, ваша проверка PHP, вероятно, никогда не вступит в игру (это только для предосторожности). Другими словами, если ваша проверка на стороне клиента работает, ваша проверка на стороне сервера не будет иметь никаких сообщений для отправки. Если ваша проверка на стороне клиента отключена или обойдена, ваша проверка на стороне сервера будет принята во внимание. Если JS-клиент отключен, вы все равно не можете отправлять сообщения через jQuery. Покажите код. – Sparky
Он все равно должен вернуть ответ JSON. В случае, если это исключено, это не означает, что Javascript отключен. Даже если это так, он должен вернуть ответ JSON, который будет просто отображаться в тексте в браузере, если Javascript отключен. – crush