ajax 呼び出しを介してフォーム データを struts2 アクションに送信しようとしています。私はスタックオーバーフローや他のチュートリアルで多くの投稿を経験しました。すべての手順を適切に実行しているにもかかわらず、アクション メソッドで null 値を取得しています。
問題を解決するために私を助けてください。この投稿は重複している可能性がありますが、古い投稿のいずれにも適切な回答が見つかりませんでした.
JSP コード
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
var dataObj = $("#dForm").serialize();
$("#submitdata").click(function(){
$.ajax( {
traditional: true,
type: "POST",
url: "data/postData",
contentType: "application/x-www-form-urlencoded",
async: false,
data : dataObj,
success: function(response) {
alert("success "+response);
},
error: function(e) {
alert("error "+e.Message);
}
});
});
</script>
<s:form name="dataform" id ="dForm" method="post">
<s:textarea id="data" name="data" class="data" rows="4" cols="100" />
<s:submit type="submit" value="submit" id="submitdata" />
</s:form>
アクション クラス
public class DataAction {
String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String postData() {
System.out.println("** postData called *** "+getData());
//Here getData always return null.
return "Success";
}
}
Struts.xml
<package name="Data" extends="json-default" namespace="data">
<action name="postData" class="com.data.action.DataAction"
method="postData">
<result type="json"></result>
</action>
</package>
他に何をしなければなりませんか?また、 ajax で async: true を設定すると、アクション メソッドが呼び出されません。私の主な関心事は、なぜ Data が null なのかということです。
ajax なしで同じことをすると、完全に機能します。
助けてください....