tomcat进行http request解析报错

Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors...java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters arejavascript

先将异常信息贴出:html

该问题是tomcat进行http request解析的时候报的错,网上的解决办法主要是修改Tomcat的server.xml,在<Connector port="8080"protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />的配置中增长maxHttpHeaderSize的配置。前端

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" maxHttpHeaderSize="8192" />
java

若是调整了maxHttpHeaderSize仍是解决不了,这时候须要设置前端页面的数据格式,须要将method 的属性设置为POST浏览器

可是这种方法对个人代码并未奏效。tomcat

-----------------------------------------------------------------------------------------------------------------ide

通过分析,发现此问题与请求参数有关。当在浏览器中访问时 URL中带有特殊字符,如花括号冒号时,就会出现这个错误。例如:http://localhost:8080/index.do?{id:123},在有些状况下,即便没有花括号,只要带有"?+参数"就会报此异常函数

好比本文所遇该问题是在使用Layer.js的弹出窗体功能时出现的问题ui

(代码中的*代码隐藏的代码,下同)url

js代码:

+ View Code

  java代码:

+ View Code

  原先的思路是经过后台转接获得子页面的url地址,而后使用layer.js组件实现将该url指向的页面做为子页面弹出。因为在url中有带?的参数,因此出现了本文开头的异常。因而,改变url形式,去掉后面的参数,将其经过其余方式进行父子界面的传参。

       所以又引出了另外一个问题,如何使用layer.open()的时候进行父子界面传参?

  本文解决办法:直接上代码

父js:

+ View Code

  

子页面js: 添加获取父页面数据的方法

1
2
3
4
function getParentData(para){
     cmdUuid=para.cmdUuid;
     projectId=para.projectId;
}  

  

关键的是

+ View Code

“success”定义的回掉函数是在子页面加载完成以后执行的,

+ View Code

+ View Code

相关文章
相关标签/搜索