私は次の方法でJSPにフォームを持っています:
<form id="provision-field" method="post" action="${pageContext.request.contextPath}/myServlet">
<fieldset>
<ol class="fields">
<li>
<label for="field1">field1</label>
<input type="text" id="field1" "
value="<%= field1 %>"
/>
<span class="description">
<span class="optional">Optional</span>
</span>
</li>
</ol>
</fieldset>
<div class="actions">
<button type="submit" name="Submit">
Submit form
</button>
<a href="" class="close-dialog">Cancel</a>
</div>
</form>
送信ボタンのクリック時にjsスニペットがあり、次のことを行います
var field = document.getElementById("field1").value;
$.ajax({
url: '${pageContext.request.contextPath}/myServlet'
type: 'POST',
data: field,
dataType: "html",
success: function(html) {
alert("Success");
},
error: function(error){
alert("ERROR");
}
});
フォーム要素を使用する (つまり、js コードを取り出す) だけで、サーブレットにアクセスできますが、フォーム パラメータが渡されません。js コードを使用しようとすると、ajax リクエストが機能しません。誰かがこれを正しく行う方法を教えてください。
サーブレット コードは次のとおりです。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.info("Inside the post function");
logger.info(request.getParameter("data");
}