我有一个AJAX成功响应的问题什么不能正常工作,我不明白为什么.. 我有一个使用XML DOM从XML文档生成Javascript的表单,作为动作,我使用表单结合name-value对servlet进行更新。一旦我点击按钮,servlet就可以正常工作并且它正确地更新我的数据库但是一旦我调用AJAX函数在表单的同一页面中显示警报消息,它就完全不起作用而且它不会显示。 我该如何解决?
这是使用Javascript生成的表单的一部分(它是表的一部分)
...
txt = txt + "<td class=\"pull-right\">" + "<form name=\"form1\" method=\"get\" action=\"SetTrue\">" +
"<input type=\"hidden\" name=\"id\" value=\"" + nn[0].firstChild.nodeValue + "\"/>"
+ "<button type=\"submit\" class=\"btn btn-link glyphicon glyphicon-star\"></button>"
+ "</form>" + "</td>";
...
这是我的servlet代码的一部分,工作正常
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
response.setContentType("text/html;");
PrintWriter out = response.getWriter();
Integer UserID = (Integer)session.getAttribute("iduser");
String errorMsg = null;
String successMsg = null;
try {
ConnectionManager conn = new ConnectionManager();
Connection connection = conn.getConnection();
PreparedStatement statement = null;
String string_id = request.getParameter("id");
int id = Integer.parseInt(string_id);
boolean set_true = true;
String update = "UPDATE Table SET Attribute=? WHERE ID=? AND UserID=?";
statement = connection.prepareStatement(update);
statement.setBoolean(1, set_true);
statement.setInt(2, id);
statement.setInt(3, UserID);
int num = statement.executeUpdate();
if (num > 0) {
successMsg = "OK";
out.println(successMsg);
RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("/Welcome.jsp");
reqDisp.forward(request, response);
}
else {
errorMsg = "Error";
session.setAttribute("error", errorMsg);
RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("/Welcome.jsp");
reqDisp.forward(request, response);
}
connection.close();
statement.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
这是我在Welcome.jsp页面中的AJAX函数
...
$("#form1").submit(function(){
$.ajax({
type : form.attr('method'),
url : form.attr('action'),
success : function(data) {
alert(data);
}
});
...
可以请任何人帮助我并解决我的问题,解释我为什么不起作用?提前致谢