1. 程式人生 > 其它 >springboot教程-獲取ajax提交字串陣列(@RequestParam)

springboot教程-獲取ajax提交字串陣列(@RequestParam)

介紹

將請求引數封裝到 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,"刪除成功!");
    }
}