【发布时间】:2018-02-15 05:13:47
【问题描述】:
我在 JSP 中有一个表单,它有两个输入框以及像这样的提交和清除按钮
<form name="loginForm" method="GET" action="Ajaxexample" id="loginForm">
<table>
<tr>
<td>From Date</td><td><input type="text" name="n1" value=""/></td>
</tr>
<tr>
<td>End Date</td><td><input type="text" name="n2" value=""/></td>
</tr>
<tr></tr>
<tr>
<td><input type="submit" name="validpro_insert" value="Insert"></td>
<td><input type="reset" name="validpro_clear" value="Clear"></td>
</tr>
</table>
</form>
因为我在表单标记中使用 get 方法调用了 servlet,该方法用于通过 JDBC API 从数据库获取数据并处理响应,所以我使用了这样的 ajax
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
System.out.println("In get");
PrintWriter out = response.getWriter();
String responseStr = "";
responseStr = addUser(request); // Return either error/success
System.out.println("Reponse:" + responseStr);
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().write(responseStr);
out.print(responseStr);
因为我必须编写一些代码来从 servlet 中的 DB 获取数据并将响应返回给 ajax,ajax 像这样在同一个 jsp 上处理成功和错误
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript">
var form = $('#loginForm');
form.submit(function () {
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
error: function (theRequest,textStatus, errorThrown) {
// Success = false;
alert (theRequest.responseText);
alert(errorThrown);
alert('No graph found');//doesnt goes here
},
success: function (data) {
var result=data;
alert(result);
}
});
return false;
});
</script>
但问题是我没有从 ajax 中的 servlet 获得任何值来处理成功或错误
我认为由于 servlet doget() 方法代码而面临这个问题。如果还有其他问题,请告诉我。任何帮助都应该感谢
【问题讨论】: