经过点击按钮修改对象的一个属性;如图,点击“禁用按钮”,修改cooperator对象的status字段。java
JSPjquery
<c:choose> <c:when test="${account.admin!=null && cooperator.cooperatorStatus==1}"> <a type="button" class="btn btn-default btn-xs" href="<spring:url value="/toggleAdminStatus/${admin.adminId }"/>" >禁用</a> <button type="button" class="btn btn-primary btn-xs" onclick="updateCooperatorStatus(${cooperator.cooperatorId},0)"> 禁用</button> </c:when> <c:when test="${account.admin!=null && cooperator.cooperatorStatus==0}"> <button type="button" class="btn btn-primary btn-xs" onclick="updateCooperatorStatus(${cooperator.cooperatorId},1)"> 启用</button> </c:when> </c:choose>
ajaxajax
function updateCooperatorStatus(cooperatorId , cooperatorStatus){ $.ajax({ url : '/updateCooperatorStatus.json', data:{ 'cooperatorId':cooperatorId, "cooperatorStatus":cooperatorStatus }, method:"post", cache: false, dataType:'json', success : function(data) { if (data.resultCode == 0) { document.location.reload(); } else { alert(data.resultMessage); } }, error : function(data) { alert("状态修改,请稍后重试"); } }); }
java.controllerspring
@RequestMapping("/updateCooperatorStatus") @ResponseBody public Result<?> updateCooperatorStatus(Cooperator cooperator){ int status = cooperator.getCooperatorStatus(); Cooperator record = this.cooperatorService.getCooperatorById(cooperator.getCooperatorId()); if(record == null) return new Result<>(AquaticErrorCode.COOPERATOR_NOT_EXIST, "合做客户不存在"); record.setCooperatorStatus(status); record.setCooperatorModifyTime(new Date()); return this.cooperatorService.updateCooperator(record); }
下运行没问题,使用Chrome调试也没有报错。json
报错;
缓存
Failed to load resource: the server responded with a status of 404 () :8080/updateCooperatorStatus.json?cooperatorId=11&cooperatorStatus=0&_=1522683700418
(‘_=1522683700418’后缀是jquery自动加的,防止缓存)app
鉴于这个问题比较奇怪,故意记录一下,但愿引起读者的思考。欢迎你们讨论。
(目前我改变实现的方式来完成这个功能)oop