springboot教程-獲取ajax提交字串陣列(@RequestParam)
阿新 • • 發佈:2021-03-31
介紹
將請求引數封裝到 List 中
注意: 由於封裝到 List 中,所以必須用此註解,否則會報錯
應用場景
比如批量刪除等
html 程式碼
使用jquery實現
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <input type="button" onclick="del()" value="批量刪除"> <table> <tr> <td></td> <td>姓名</td> </tr> <tr> <td><input type="checkbox" name="id" value="1"></td> <td>李雷</td> </tr> <tr> <td><input type="checkbox" name="id" value="2"></td> <td>韓梅梅</td> </tr> <tr> <td><input type="checkbox" name="id" value="3"></td> <td>lucy</td> </tr> </table> <script> function del() { var ids =[]; $('input[name="id"]:checked').each(function(){ ids.push($(this).val()); }); $.ajax({ url:'/deleteByIds', type:'post', //使用post方法 dataType:'json',//伺服器端返回的資料格式是json data: { "ids":ids, },//發給伺服器端的資料 success:function(data){ //data:伺服器端返回給瀏覽器端的資料 if(data.code==0){ alert(data.msg); }else{ alert(data.msg) } }, error:function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest); alert(textStatus); alert(errorThrown); } }); } </script>
點選按鈕,檢視瀏覽器提交的資料,如下圖:
使用jquery庫,請求中的引數名是:ids[]
Controller 程式碼
需要使用 @RequestParam(name = "ids[]")
指定請求中的引數名,由上圖可知,請求中的引數名是:ids[]
形參是 陣列
@RestController public class DelCtrl { @RequestMapping("/deleteByIds") public JsonResult deleteByIds(@RequestParam("ids[]")String[] ids){ for(Object id:ids){ System.out.println(id); } return new JsonResult(0,"刪除成功!"); } }
形參是 List
@RestController public class DelCtrl { @RequestMapping("/deleteByIds") public JsonResult deleteByIds(@RequestParam("ids[]") List ids){ for(Object id:ids){ System.out.println(id); } return new JsonResult(0,"刪除成功!"); } }