我使用Spring的引導和JSP項目工作,並且UI提供如下之後,春天開機刪除數據庫條目點擊按鈕
我想刪除使用刪除按鈕的行條目。頁面list.jsp
負載與所述控制器的方法,
@GetMapping(value = "/")
public String index() {
return "redirect:/users";
}
@GetMapping(value = "/users")
public String showAllUsers(Model model) {
model.addAttribute("users", userService.findAll());
return "list";
}
的JSP部分的按鈕處於list.jsp
頁,
<td>
<spring:url value="https://stackoverflow.com/users/${user.id}" var="userUrl"/>
<button class="btn btn-info" onclick="location.href='${userUrl}'">Query</button>
<spring:url value="https://stackoverflow.com/users/${user.id}/delete" var="deleteUrl"/>
<button class="btn btn-danger" onclick="this.disabled=true;removeUser()">Delete</button>
<spring:url value="https://stackoverflow.com/users/${user.id}/update" var="userUpdate"/>
<button class="btn btn-info" onclick="location.href='${userUpdate}'">Update</button>
</td>
對刪除控制器映射,
@DeleteMapping(value = "https://stackoverflow.com/users/{id}/delete")
public String deleteUser(@PathVariable("id") Long idx, final RedirectAttributes redirectAttributes) {
logger.debug("Delete user with Id {}", idx);
redirectAttributes.addFlashAttribute("css", "Success");
redirectAttributes.addFlashAttribute("msg", "The user is deleted");
// delete the user
userService.delete(idx);
return "redirect:/users/";
}
我在自定義文件中具有JavaScript功能,
function removeUser(){
}
和,點擊刪除按鈕後,我可以得到一些控制檯輸出,這意味着刪除按鈕正在工作。我應該如何實現removeUser
函數,在點擊按鈕後刪除行?
我想知道是否可以使用jQuery
中的任何內置方法來執行此操作。謝謝。
Query
和Update
按鈕具有相應的控制器方法並可正常工作。
如果我離開它,就像
<spring:url value="https://stackoverflow.com/users/${user.id}/delete" var="deleteUrl"/>
它不刪除該行還是anythong
Update
我可以通過刪除URL到自定義JavaScript函數,
<spring:url value="https://stackoverflow.com/users/${user.id}/delete" var="deleteUrl"/>
<button class="btn btn-danger" onclick="this.disabled=true;removeUser('${deleteUrl}')">Delete</button>
提供的removeUser
功能,
function removeUser(deleteURL) {
console.log("Remove : " + deleteURL);
$.ajax({
type: "DELETE",
url: deleteURL,
success: function() {
},
failure: function (errMsg) {
console.log(errMsg.toString())
}
});
}
我試圖寫成功的函數,而不是工作雖然
向/ users/{id}/delete發出一個Ajax請求,並在成功處理程序中從您的表中刪除相關行。請參閱https://stackoverflow.com/a/42055209/1356423或https://stackoverflow.com/questions/1141793/jquery-ajax-remove-rows-from-table-and-in-db –
請問您有一個看看更新的問題?我試圖寫成功功能,但不工作。代碼的答案將有所幫助 – Arefe
查看瀏覽器DEV工具中的網絡流量。你的控制器可能會返回一個重定向(302狀態),即不是觸發客戶端成功處理程序所需的狀態200(OK)響應。更新你的控制器方法使用類似的東西:https://stackoverflow.com/a/25572820/1356423 –