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"); }
このusing$("#formid").submit();
を送信でき、modelAttributeは正常に機能し、UIから値を取得します。
私の質問は、このフォームをjquery ajaxの方法で送信する方法ですか?私はこれを試しました、
_$.ajax({
type:"post",
url:"/myaction.htm",
async: false,
dataType: "json",
success: function(){
alert("success");
}
});
_
フォームが送信されたが、modelAttribute値がnullの場合、送信中にmodelAttributeオブジェクト(フォームが使用しているオブジェクト)を含める方法
データを投稿する必要があります。私が通常行う方法は、以下を使用することです。
var str = $("#myForm").serialize();
$.ajax({
type:"post",
data:str,
url:"/myaction.htm",
async: false,
dataType: "json",
success: function(){
alert("success");
}
});
サーバーにパラメーターを渡していないので、ModelAttributesにはデータが入力されていません。フォームデータはサーバーに送信する必要があります
$.post('myaction.htm', $('#formid').serialize())
ajax postリクエストを送信します。