14

SpringMVCは初めてです。私はこのような形をしています、

<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は正常に機能しており、UIから値を取得しています。

私の質問は、jqueryajaxの方法でこのフォームを送信する方法ですか?私はこれを試しました、

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

});

フォームは送信されますが、modelAttribute値はnullです。送信中にmodelAttributeオブジェクト(フォームが使用しているオブジェクト)を含めるにはどうすればよいですか?

4

2 に答える 2

54

データを投稿する必要があります。私が通常行う方法は、次を使用することです。

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

$.ajax({
    type:"post",
    data:str,
    url:"/myaction.htm",
    async: false,
    dataType: "json",
    success: function(){
       alert("success");
    }
});
于 2012-12-19T17:17:25.660 に答える
2

サーバーにパラメーターを渡していないため、ModelAttributes にデータが入力されていません。フォーム データをサーバーに送信する必要があります。

$.post('myaction.htm', $('#formid').serialize())ajax投稿リクエストを送信します。

于 2012-12-19T17:16:44.493 に答える