调用后台添加功能,data能够正常传入后台,数据库成功更新,但是ajax()既不进入success,也不进入error。
- 检查ajax中datatype与后台返回值数据类型。
//ajax数据
$.ajax({
type:"POST",
datatype:"json",//数据类型为json
url:"addNewService",
data:{
"serviceName":serviceName,
"sendIpAddrStr":sendIpAddrStr,
"recvIpAddrStr":recvIpAddrStr,
"recvPortType":recvPortType,
"recvPort":recvPort
},
//后台代码
System.out.println("数据库更新条数"+iii);
jsonObjectResult.put("msg", iii);
return jsonObjectResult;
- 检查是否进入error:
success:function(data){
if (1 == data.msg) {
location.reload(true);
alert('添加数据成功!');
} else {
alert('添加数据失败!');
}
},
error:function(data){
console.log("msg",data.msg);
console.log("flag",data.flag);
location.reload(true);
}
运行发现未进入error,但是数据库添加成功。
- 经验证发现是在ajax的异步传输还未完成验证,页面已进行刷新。由于页面用的是layui框架(基于bootstrap),bootstrap框架下form表单中的按钮被点击后会自动刷新页面。
- 解决方案,将form改为div即可,页面样式不会发生变化。