IE下 JS传参出现中文乱码解决
2017-11-27 14:53
337 查看
问题:
在IE浏览器下选择要查询的商品类别之后点击查询查不到相关记录,但是谷歌火狐可以正常使用的。经过调试在Controller里发现传过去的参数已经变成乱码了,所以后台查不到记录。
分析:
controller里面的参数是从前台js传过去的,所以问题肯定出在js和controller,以为浏览器的原因,这里需要先编码再解码保证参数的正确传递。解决:
1.看配置文件下是否是UTF-8编码,如果不是,在Connector标签中加入URIEncoding= “UTF-8”。2.使用js的escape()编码,与之对应的是unescape()解码,但是ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
实践:
//在JS中编码 data: "&categroyName=" + escape($("#cmb_itemcategory").val()), ------------------------------- //在Controller中解码 vmCategoryrUser.CategoryName = Server.UrlDecode(categroyName);
效果图:
已传入正常参数。补充(三种编码):
js中编码的方式大致有escape(),encodeURI() , encodeURI(Component) 三种。1. escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
2. encodeURI() 函数可把字符串作为 URI 进行编码。
3. encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
本次选中escape()编码的原因是这里没有涉及到URL编码只涉及到参数字符串的编码。这三种编码的具体解释和实例请点击 这里。
相关文章推荐
- IE 浏览器js 中文传参出现乱码问题的解决办法
- ie引用js文件出现中文乱码的一种解决方法
- C# JS URL 中文传参出现乱码的解决方法
- 英文环境 JAVASCRIPT(JS)提示中文出现乱码的解决办法
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 对于从IE传送中文到服务层出现乱码的解决方法
- html设计之js弹出框出现中文乱码解决方法
- js window.open 传递中文参数出现乱码解决办法
- js window.open 传递中文参数出现乱码解决办法
- JS传递中文参数出现乱码的解决办法
- IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!
- JS解决url传值出现中文乱码的另类办法
- js向后台传参中文乱码解决
- js文件中的中文提示信息发到jsp中出现乱码解决步骤
- JS通过get、post向jsp传递中文出现乱码的问题的解决
- 解决出现JS跳转传中文参数出现乱码的情况
- 关于从js用Jquery向Action传递值出现中文乱码的问题解决
- 解决js向jsp传中文出现乱码的问题(对弹出窗体也有效)
- js提交表单中包含中文参数值,request请求参数正常,服务器端接收出现乱码解决思路
- js获取url中的中文参数出现乱码解决