欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于bootstrap.table无法使用queryParams获取前台参数问题解决

程序员文章站 2022-06-08 09:10:03
...

jquery使用queryParams拿参数:

由于bootstrap传递的数据有两种类型,一种是<input>类型,一种是<select>类型,他们都是以$("#id").val()上传数据,但是在后端却不同,对于input的数据,后端request.getParameter();获得数据正常,但是对于select还是以request.getParameter();获取数据,就会导致获取的是null,我追查了好久,发现原因竟然是前端传过来的name竟然是带方括号的[],比如前端传入数据:

<select id="hobby">
    <option value="1">打球</option>
    <option value="2">蹦迪</option>
    <option value="3">跳楼</option>
</select>
function ways(){
            $('#query_results').bootstrapTable({
                url: '...',  //请求后台的URL
                ...
                queryParams: queryParams,
                ...
            });
}
function queryParams(params)
{
    var paramss = {
        name: $("#name"),
        hobby: $("hobby")
    }
    return paramss;
}

在后端参数名以这样获取才可以取到

String name = request.getParameter("name");
String hobby  request.getParameterValues("hobby[]");

注意到了吗?要以hobby[]作为入参名字才可以取到值!