
IE11 400错误,谷歌、火狐正常显示(中文参数导致)
发布日期:2021-05-06 23:24:06
浏览次数:24
分类:原创文章
本文共 1092 字,大约阅读时间需要 3 分钟。
今天发现个问题,做的项目在谷歌、火狐、edge上正常显示及跳转,但IE11上就会报错:
通用报错
1:400错误
2:HTML5 DOCTYPE 无效 <!DOCTYPE >错误
3:dom-DOM7011:禁用了反向和正向缓存
搜索了这3个错误,发现2和3都不符合我的报错原因,
我的报错
参考《Ie浏览器请求400错误,谷歌火狐等浏览器正常请求》这篇帖子,对项目进行修改,解决了问题。
此处引用原文:
location.href="请求的url"在其它浏览器上是可以正常请求的.但是在ie浏览器上确出现奇怪的http请求400错误,我们先来对于http400状态的描述:当用户在打开网页时,返回给用户界面带有400提示符的页面。其含义是你访问的页面域名不存在或者请求错误,自己的本地,肯定没问题.那就是请求错误了.几经尝试发现是参数带中文的会出现此种情况,没带中文的没有问题.
解决方法:
1.js编码encodeURI(encodeURI(URL)),编码两次
2.服务器端解码 URLDecoder.decode(request.getParameter("para"),"UTF-8")
前端
window.location.href = "index?code="+Id+"&name="+encodeURI(encodeURI(name))+"&begDate="+begDate+"&endDate="+endDate;
后端
controller层:@RequestMapping("/index")public ModelAndView index(HttpServletRequest request,HttpServletResponse response) { String name = request.getParameter("name"); if (null != name){ try { name = URLDecoder.decode(request.getParameter("name"),"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }}
产生原因
name传参在地址栏显示的是加密过的:%25E6%2596%25B0%25E7%2596%2586%25E5%2585%25AC%25E5%258F%25B8 如这段,经过URLDecoder.decode解密,可得中文参数
发表评论
最新留言
不错!
[***.144.177.141]2025年04月01日 16时04分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
银河麒麟系统配置apt网络源
2019-03-05
第七周 4.12-4.18
2019-03-05
程序设计入门14 结构体
2019-03-05
程序设计基础75 tips 广度搜索细节问题
2019-03-05
笨办法学python之数据类型
2019-03-05
笨办法学Python之将对象名的字符串类型,转化成相应对象
2019-03-05
ArduPilot源码极速下载手册(一文告别github慢速问题)
2019-03-05
聊一聊那些应该了解的大佬(飞控,人工智能方向)
2019-03-05
ArduPilot+mavros+gazebo+QGC联合仿真初体验
2019-03-05
px4调试bug--添加mavlink_log_info信息
2019-03-05
redis替换字符串命令
2019-03-05
redis向数组中添加值并查看数组长度
2019-03-05
python3基础梳理11python中模块和包
2019-03-05
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
2019-03-05
jQuery实现轮播图效果
2019-03-05
mybatis中like的注意
2019-03-05
sqlplus的基本使用
2019-03-05
oracle删除表重复数据
2019-03-05
Oracle删除主表数据
2019-03-05