jQuery MiniUI

 找回密码
 立即注册
查看: 2260|回复: 3
打印 上一主题 下一主题

datagrid传中文参数到后台乱码 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-12-20 18:33:09 |只看该作者 |倒序浏览
    datagrid用的beforeload事件,在传到后台前,以e.data.xxx = '测试'的方式将xxx传入后台。后台是java写的String xxx = request.getParameter("xxx")但是java接收到的xxx值会出现中文乱码。我在前台用encodeURIComponent加密,后台用URLDecoder.decode解密,在ajax中使用是可以保证中文不出现乱码的,但是放在这个事件中传递的参数,后台却无法成功解密,一直是加密状态。难道ajax的方式在这里不能用么?还是这个事件传递参数时也会加密?怎么传递才能保证中文不乱码?

Rank: 8Rank: 8

沙发
发表于 2017-12-21 09:30:08 |只看该作者
e.data.xxx=encodeURIComponent(中文)这样传递不行吗?

Rank: 3Rank: 3

板凳
发表于 2017-12-21 11:04:17 |只看该作者
dforce 发表于 2017-12-21 09:30
e.data.xxx=encodeURIComponent(中文)这样传递不行吗?

我试过e.data.xxx=encodeURIComponent(中文)或者e.data.xxx=encodeURIComponent(encodeURIComponent(中文)),后台用URLDecoder.decode都无法成功解密,后台打印出来的还是一串加密值。所以还有没有其他方式可以传递?

Rank: 8Rank: 8

地板
发表于 2017-12-21 11:43:53 |只看该作者
asd1122 发表于 2017-12-21 11:04
我试过e.data.xxx=encodeURIComponent(中文)或者e.data.xxx=encodeURIComponent(encodeURIComponent(中 ...

正常都是这样传递的,没遇到过你这样解析不了问题。
e.data.xxx
也就是在$.ajax({
   data:{}     //这个data里面多加了字段
})

Archiver|普加软件

GMT+8, 2024-9-28 12:23 , Processed in 1.033264 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部