使用DELETE方式進行交互
說明:ResponseData為自定義返回體{String code, String msg, List<?> data}
PollutionData 為一個entity 屬性部分包含{String id, String name}
CodeEnum、MsgEnum為自定義枚舉類,定義了一些常量
兩種方式皆測試過
環境:win7+idea2018.2+jdk10.0.2+springboot 前端編輯工具為hbuilder
兩種方式:
1、
//方法一 使用POST+ _method:"DELETE" + filter(springboot不需要我們配置) //這里的傳輸對象為json對象,后台直接接受 var r=confirm("方法一:確認刪除該條數據?"); if(r){ //var data = {_method:"DELETE", id:"456456",name:"征集"}; var data = {_method:"DELETE"};//_method:"DELETE"必須,其他屬性看你需求 $.ajax({ url:"http://192.168.2.116:8080/pollution/delete/1786vdsds863", type:"POST", data:data, dataType:"json", success:function(result){ alert(result.msg); } }); }
@DeleteMapping("/pollution/delete/{id}") public ResponseData deletePollutionById(@PathVariable("id")String id, @RequestBody PollutionData data){
System.out.println(id); System.out.println(data); return new ResponseData(CodeEnum.SUCCESS.getCode(),MsgEnum.SUCCESS.getMsg(),null); }
2、
//方法二 使用DELETE請求 //這是的傳輸對象為json字符串 后台使用@RequestBody注解解析該字符串並將字符串映射到對應實體上 var r=confirm("方法二:確認刪除該條數據?"); if(r){ var id = "123133"; var jsonstr = { id: id, name: "12345"}; console.log(jsonstr); $.ajax({ url:"http://192.168.2.116:8080/pollution/delete/" + id, type:"DELETE", contentType:"application/json",//設置請求參數類型為json字符串 data:JSON.stringify(jsonstr),//將json對象轉換成json字符串發送 dataType:"json", success:function(result){ alert(result.msg); } }); } /**如果不需要傳遞參數,可以不寫下面的幾項 * contentType:"application/json",//設置請求參數類型為json字符串 data:JSON.stringify(jsonstr),//將json對象轉換成json字符串發送 dataType:"json", */
@DeleteMapping("/pollution/delete/{id}") public ResponseData deletePollutionById(@PathVariable("id")String id, @RequestBody PollutionData data){ System.out.println(id); System.out.println(data); return new ResponseData(CodeEnum.SUCCESS.getCode(),MsgEnum.SUCCESS.getMsg(),null); }
參考:https://blog.csdn.net/liuyuanjiang109/article/details/78972644