我在使用表单提交进行POST请求的servlet中遇到问题,但在servlet方面显示没有任何参数可用。我不知道这可能是造成这个问题或如何解决它请求doPost中没有参数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
对象没有任何参数,当我debbug ING。
有没有在之前您提交时至少选择了一个按钮?如果没有选择按钮,则不会提交任何参数。 – stdunbar
是的,我提交时选择了一个按钮 – Emenor
我首先使用浏览器中的工具 - Chrome中的开发人员工具或Firefox中的Firebug。这将帮助您查看浏览器正在发送的内容。这将需要你深入研究,因为这篇文章可能会被URL编码,但你可以首先验证HTML/JavaScript端是否发送了你期望的内容。 – stdunbar