问题
在实际的项目中遇到了用ajax处理数据后想刷新当前页面,而需要将返回的结果带着一起请求刷新,所以前人就用的window.location.href = "${ctx}/tm?msg="+result.data;
导致出现了一个问题,在chrome浏览器中没有问题,在360浏览器中一直报The valid characters are defined in RFC 7230 and RFC 3986错误,而将请求的路径直接输入到地址栏访问又可以访问
推测
chrome浏览器在js设置了window.location.href
的同时将地址转了一次URIEncode所以请求的时候不会出错,而360浏览器并没有做URIEncode转换,导致访问到tomcat容器时,直接报错
解决
通过js自带的字符串转URIEncode的函数解决问题window.location.href = "${ctx}/tm?msg="+encodeURI(result.data);