解决Prototype.js传递中文参数的问题!

2007/06/29 更新:
增加随机码,确保每次都有效读取。

============================

这段时间一直对javascript挺感兴趣的。
前些日子开始用prototype的一些脚本,说起来惭愧,早就存在而且出名的东东,自己竟然不知道,唉。
用prototype.js的Ajax.Request实现异步传递真不错,可以把整个表单转换成string来传递,也可以单独获取某一个文本域的值,可是有一个缺点就是不支持中文参数传递(可能是我没发现),毕竟是老外的写的东东。经过一番琢磨,我发现是在内部脚本中对参数编码的问题,老外不管什么参数都用encodeURIComponent()函数进行编码,而中文则适用于escape()函数。经过测试,问题解决了,可以实现传递中文参数了。在实际应用中,可以指定encoding,若:encoding:”gb2312″,则自动转换为escape()函数进行编码;若不指定encoding则使用默认函数encodeURIComponent()。

我把修改过了prototype.js放上来,需要的朋友下载就是了,版本是1.5.0

Click Here To Download

Leave a Comment

Your email address will not be published.

*