我在IE11上收到错误的请求错误:
环境:预生产
错误触发器:通过window.open打开一个URL(“带有重音或中文字符的参数的动作”);
错误只发生在使用IE11,Firefox或Chrome可以使用。而且只有在那个特定的环境中。它适用于具有Tomcat 8.5的DEV环境。它也适用于带有Websphere 6.1的旧prod / preprod / dev服务器。我无法在本地重现它,甚至无法更改Tomcat 8 URIEncoding连接器参数。
类似的事情发生在任何人身上吗?就目前而言,我发现的一种解决方法是在触发window.open之前使用Javascript encodeURI函数,但我正在寻找使该故障仅在该特定服务器上运行的真正原因。
我尝试更改IE国际设置以编码网址并将网站添加到我的安全网站,但错误仍然存在。
答案 0 :(得分:0)
我发现发生了什么:DEV服务器和Preprod服务器略有不同,DEV有Tomcat 8.5.3,Preprod有Tomcat 8.5.9,在那个版本中,对URI,Firefox和Chrome中的字符有一些限制在发送到服务器之前对它们进行编码(这就是为什么它们不会在这些浏览器中失败),IE会在它们到来时发送它们(甚至在编码URL的选项中指定)。因此,对于IE,需要在发送请求之前使用javascript对它们进行编码。