Итак, у меня есть проект Spring Boot API с использованием Jquery SmartWizard. Первый шаг из 4 содержит простую форму. Ради тестирования я использую одно поле (ID: имя).
При нажатии кнопки Next
мастера должен выполниться метод jquery, данные формы будут отправлены в базу данных, а затем перейти к Next Step
мастера (т.е. 2).
$( document ).ready(function() {
$('#wizard').smartWizard({
onLeaveStep: function() {
ajaxPost();
}
});
$('.buttonNext').addClass('btn btn-success');
$('.buttonPrevious').addClass('btn btn-primary');
$('.buttonFinish').addClass('btn btn-default');
function ajaxPost(){
var formData = {
name : $("#first-name").val()
//lastname : $("#lastname").val()
};
// DO POST
$.ajax({
type : "POST",
contentType : "application/json",
url : "http://localhost:8080/api/uc/create",
data : JSON.stringify(formData),
dataType : 'json',
success : function(result) {
console.log(result)
},
error : function(e) {
alert("Error!");
console.log("ERROR: ", e)
}
});
//$('#wizard').smartWizard('goForward');
// Reset FormData after Posting
//resetData();
}
function resetData(){
$("#first-name").val("");
//$("#lastname").val("");
}
});
ajaxPost()
работает, но Мастер не переходит к следующему шагу. Если я раскомментирую эту строку //$('#wizard').smartWizard('goForward');
, функция ajaxPost() реплицирует много данных в базе данных.
Как заставить мастера перейти к шагу 2 после отправки формы с помощью функции ajax, нажав кнопку «Далее».