經過點擊按鈕修改對象的一個屬性;如圖,點擊「禁用按鈕」,修改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