关于ajax提交数据并根据返回结果弹出提示框
cc 2017-10-24 09:28:11 在html里面有两个form,一个form1用普通的提交方式处理,这个没有问题。一个form2用ajax的方式提交数据,并根据返回结果弹出“保存失败”或者“保存成功”的提示框,这个出了些问题:即我已经看到后台的数据已经成功更新了,但是还是弹出“保存失败”,此外,点击确定后还会跳转到form2指定的action=“xxx”页面,本来是要继续停留在本页面的。以下是我的html相关代码以及后台servlet相关代码,请指正,谢谢。
function submitrate() { //提交表单
$.ajax({
url: "rate",
type: "POST",
processData: false,
async: false,
data: $("#rateForm").serialize(),
error: function () {
alert("保存失败");
},
success: function (data, textStatus) {
if (data < 0) alert("保存失败");
else alert("保存成功");
},
});
}
<!-- 下面是html代码 -->
<form id="rateForm" method="post" action="newrate">
<table class="table1" border="1">
<tr>
<td class="td11"></td>
</tr>
<tr>
<td class="td13">
平时<input name="pingshi" id="pingshi" class="textbox1" type="text" value="50"
onchange="zhanbi($(this), $('#zuizhong'))"/>%
最终<input name="zuizhong" id="zuizhong" class="textbox1" type="text" value="50"
onchange="zhanbi($(this), $('#pingshi'))"/>%
<button name="saverate" id="saverate" onclick="submitrate()">保存</button>
</td>
</form>
// 下面是servlet代码
@WebServlet("/rate")
String pingshi="";
pingshi=request.getParameter("pingshi");
String sql="update j set pingshi='"+pingshi+"' where username='"+username+"'";
int result = -1;
try {
// result = JdbcUtils.executeUpdate(sql, args);
// result = JdbcUtils.executeUpdateL(sql, args);
result =jdbcu.executeUpdateI(sql);
} catch (SQLException e) {
result = -1;
e.printStackTrace();
}
response.setContentType("application/json; charset=utf-8");
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(response.getOutputStream(), result);