Подтвердить что ты не робот

Как отправить форму spring в ajax (jquery) с помощью параметра modelAttribute

Я новичок в Spring MVC. У меня есть такая форма,

<form:form action="/myaction.htm" method="post" modelAttribute="myForm" id="formid"> и контроллер, который возвращает json

public @ResponseBody ResultObject doPost(@ModelAttribute("myForm") MyForm myForm){ System.out.println("myform.input"); }

Я могу отправить это, используя $("#formid").submit(); и мой modelAttribute работает нормально, принимая значения из пользовательского интерфейса.

мой вопрос, как отправить эту форму в JQuery AJAX способ? Я попробовал это,

$.ajax({
type:"post",
url:"/myaction.htm",
async: false,
dataType: "json",
success: function(){
alert("success");
}

});

форма отправлена, но значения modelAttribute равны нулю, как включить объект modelAttribute (объект, который используется в форме) при отправке?

4b9b3361

Ответ 1

Вам нужно опубликовать данные. Как я обычно делаю это, используйте следующее.

var str = $("#myForm").serialize();

$.ajax({
    type:"post",
    data:str,
    url:"/myaction.htm",
    async: false,
    dataType: "json",
    success: function(){
       alert("success");
    }
});

Ответ 2

ваши атрибуты ModelAttributes не заполняются, так как вы не передаете какие-либо параметры серверу. Данные в формате должны быть отправлены на сервер

$.post('myaction.htm', $('#formid').serialize()) для отправки запроса ajax post.