踩坑—— 关于请求路径的请求参数的一个小坑(请求方式为get)

Posted kaori

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩坑—— 关于请求路径的请求参数的一个小坑(请求方式为get)相关的知识,希望对你有一定的参考价值。

关于请求路径的请求参数的一个小坑(请求方式为get)

当进行页面跳转的操作时,如果路径采用的是拼接字符串的方式时,如果其中有变量存在,并且变量为null,那么与之对应的请求参数的值是一个值为“null"的字符串。

$("#search-button").click(function () {
    var a = null;//将a的值设为null
    var b = 123;
    location.href = ‘index.html?a=‘+a+‘&b=‘+b+‘‘;
});

上面这段代码中,完整的路径是:index.html?a=null&b=123

当我拿着参数发送请求到servlet时,因为没有对a.equals("null")的情况进行处理,出现了问题

正确的处理方式:

String a = request.getParameter("a");
if (a != null && a.length() > 0 && !a.equals("null")) {
    ......
}

a.length() > 0的判断,是因为,假如请求路径中有这个参数,但是没有相应的值,那么request.getParameter("a")获取的值就会是一个""字符串,所以要作出相应的处理。

以上是关于踩坑—— 关于请求路径的请求参数的一个小坑(请求方式为get)的主要内容,如果未能解决你的问题,请参考以下文章

HTTP访问控制(CORS)踩坑小记

JAVA踩坑记录Feign调用服务时,get请求参数异常

Android解决请求接口的一些奇葩路径参数等

Android解决请求接口的一些奇葩路径参数等

Feign踩坑源码分析 -- 请求参数分号变逗号

PHP CURL 模拟form表单上传遇到的小坑