Простое автосохранение для формы Spring MVC
-
05-09-2019 - |
Вопрос
У меня есть форма одной страницы, сделанная с помощью Spring MVC.Пользователь должен сначала зарегистрироваться, и я бы хотел, чтобы форма сохранялась автоматически, чтобы пользователь мог прийти позже, чтобы доработать ее.Традиционная отправка формы с таймером - это не то, что я ищу.Вместо этого я планирую использовать какой-нибудь ajaxy-способ отправки полей на сервер при каждом событии onFocus.
Есть какие-либо предложения по реализации или комментарии к этому подходу?
Решение
Я совсем недавно сделал то же самое.Я использовал jQuery и использовал их функцию "serialize" вместе с их функцией "ajax" для отправки формы.В моем случае, вместо того чтобы использовать подход, основанный на событиях, я просто сохранил сериализованную форму в переменную и проверял раз в минуту, отличается ли вновь сериализованная форма от ранее сохраненной.
Другие советы
вы также можете проверить XT Ajax фреймворк
Я решил это с помощью http://docs.jquery.com/Ajax/serialize как и предлагал Якобм.Затем сериализованная форма отправляется как ajax post, запускаемая таймером.
В Spring MVC я создал очень простой контроллер, расширяющий AbstractController, и извлек свои поля из запроса.
Приведенный ниже Js-скрипт поможет вам выполнить ajax-вызов при любом изменении поля формы.
<script>
$(document).ready($('.form-control').change(function() {
$.ajax({
type : "post",
url : "http://localhost:8521/SpringExamples/autosave/save.htm",
cache : false,
data : $('#employeeForm').serialize(),
success : function(response) {
var obj = JSON.parse(response);
$("#alert").text(JSON.stringify(obj));
$("#alert").addClass("alert-success");
},
error : function() {
alert('Error while request..');
}
});
}));
</script>