【发布时间】:2017-11-30 20:35:09
【问题描述】:
我在 servlet 中遇到问题,我使用表单提交执行 POST 请求,但在 servlet 端,显示没有任何参数可以使用。我不知道是什么导致了这个问题或如何解决它。
这是我的表单提交:
<table>
<form name="eliAlumno" id="eliAlumno" method="POST" action="DelAlumno">
<tr>
<td><input type="radio" name="radioGroup" class="radioButtonEli" value="0"></input></td>
<td>any name</td>
<td>any last name</td>
<td>any string</td>
<td>any number</td>
<td>true or false</td>
<td><input type="submit" id="0" value="Eliminar"></input></td>
</tr>
</form>
</table>
这是我的 JavaScript
$("#eliAlumno").submit(function (event) {
event.preventDefault();
document.getElementsByClassName("loader")[1].style.display = "block";
setTimeout(del, 3000);
function del() {
document.getElementsByClassName("loader")[1].style.display = "none";
$.ajax({
url: "DelAlumno",
type: "POST",
data: $("#eliAlumno").serialize()
})
.done(function (json) {
bootbox.alert({
size: "small",
title: "Exito",
message: "El alumno ha sido eliminado adecuadamente."
});
})
.fail(function (xhr, status, errorThrown) {
bootbox.alert({
size: "large",
title: "Error",
message: "El alumno no se eliminó adecuadamente\n\
información del error: <br>" + errorThrown
});
});
}
});
这是我的 servlet doPost 方法
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Gson g = new Gson();
ProcessDataDel pdd = new ProcessDataDel();
int id = Integer.parseInt(request.getParameter("radioGroup"));
pdd.deleteAlu(id, g);
response.sendRedirect("consulta.jsp");
}
但我调试时HttpServletRequest对象没有任何参数。
【问题讨论】:
-
提交时是否至少选择了一个按钮?如果没有选择按钮,则不会提交任何参数。
-
是的,我提交时选择了一个按钮
-
我会先使用浏览器中的工具——Chrome 中的开发者工具或 Firefox 中的 Firebug。这将帮助您查看浏览器发送的内容。这需要您深入研究一下,因为帖子可能是 URL 编码的,但您可以首先验证 HTML/JavaScript 端发送的内容是否符合您的预期。
-
当我提交到 servlet 时,我可以看到浏览器大小的请求实际上正在发送值为“2”的参数“radioGroup”
标签: javascript java servlets