IE浏览器报400错误:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

前言:

在用IE浏览器时访问tomcat项目时,页面报400错误,后台错误:

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

在网上查得资料时因为Tomcat版本在7以后会对http头进行验证,不符合规范的就会抛出异常
而IE浏览器无法对URL自动转义

解决办法:

1.使用encodeURI函数

2.JS使用post请求

//发送POST请求跳转到指定页面
function httpPost(URL, PARAMS) {
    var temp = document.createElement("form");
    temp.action = URL;
    temp.method = "post";
    temp.style.display = "none";

    for (var x in PARAMS) {
        var opt = document.createElement("textarea");
        opt.name = x;
        opt.value = PARAMS[x];
        temp.appendChild(opt);
    }

    document.body.appendChild(temp);
    temp.submit();

    return temp;
}
posted @ 2020-01-09 17:47  梧桐树master  阅读(941)  评论(0编辑  收藏  举报