论坛首页 入门技术论坛

Ajax中文参数传递处理

浏览 3383 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-09  
在项目中碰见的一个问题,
页面使用的纯JS,一个表单,点击提交后出发ajax的请求函数,
在传递参数的时候碰见一个问题,没有插入数据库,然后我在后台输出,
结构是一些我看不懂的文字了,呵呵, 不是乱码,
google一下,
解决办法如下~:
在JS处理url的时候:
var url = "recommend/updateRecommendCategory.do?recommendCategory.id="+rc_id+"&recommendCategory.name="+rc_name+"&recommendCategory.description="+rc_desc;
                url=encodeURI(url);
                url=encodeURI(url);

这里的encodeURI要两次啊, 我也不知道为什么要两次,但是网上的这么说了,我也没有深入的研究了,一次到底可不可以,我也没有看过!
然后java里面接收参数也要相应的编码一次:
name = java.net.URLDecoder.decode(recommendCategory.getName(),"UTF-8")

然后在Action里面输出! 呵呵
汉字出来了!
   发表时间:2010-04-10  
我的两边都用的是utf8,ajax时没有你说的这种问题。
0 请登录后投票
   发表时间:2010-04-10  
或者用escape也可以
0 请登录后投票
   发表时间:2010-04-10  
yn5411 写道
我的两边都用的是utf8,ajax时没有你说的这种问题。

我的两边也是UTF-8,但是出现了这个问题了!呵呵
0 请登录后投票
   发表时间:2010-04-11  
我遇到过两边都UTF-8
URL 也 encodeURI 了两次
可在 action 里接受到的还是乱码
0 请登录后投票
   发表时间:2010-04-11  
容器的 URIencoding 设置了没有?
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics