Есть jQuery огонь Ajax запрос, когда при нажатии кнопки Назад
У меня есть страница с 80 + динамически генерируемыми полями ввода, когда пользователь отправляет форму другому .php страница и один из входов содержит значение, которое не является числовым, он будет отправлять их обратно на страницу входов с помощью: <?php header("Location: javascript:history.back()"); ?>
, в то же время он регистрирует ошибку в переменной сеанса. Причина, по которой я использую javascript:история.back (), это потому,что он хранит значения, которые были в форме, даже при нажатии кнопки back. Но поскольку это кэширование страницы, я не могу вывести ошибка в том же .php скрипт, поэтому я добавил элемент A и немного кода Ajax. Код Ajax извлекает другой файл, называемый error.php, это содержит:
<?php
header("Cache-Control: no-cache");
session_start();
if(isset($_SESSION['error']))
{
echo $_SESSION['error'];
unset($_SESSION['error']);
}
?>
Это извлекается, когда страница загружается сама по себе, но не когда используется history.back()
, Похоже, что следующее не срабатывает:
<script type="text/JavaScript">
$(document).ready(function(){
$("#error p").load("error.php");
});
</script>
Есть идеи?
Спасибо,
Джастин
2 ответа:
Вы можете полностью отказаться от отправки формы и отправить данные с помощью вызова AJAX - сервер может проверить данные и отправить обратно либо "success", либо список ошибок проверки.
В случае успеха перейдите к следующему URL-адресу (возможно, указанному рядом с сообщением об успехе)
Если не удалось, измените текущую страницу, чтобы указать, в чем были проблемы. Это позволяет избежать необходимости повторного создания всей формы (поскольку вы никогда не покидаете страницу), но также обеспечивает надежную серверную часть проверка