前言:
在用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;
}