解决3.01版的jquery.form.js中文乱码问题的解决方法


Posted in Javascript onMarch 08, 2012

网上搜了很多方法,可能因为我用的这jquery.form.js是3.01版,也就是今年3月6日才发布的版本(汗。。。就是前天),所以普遍不太管用。至于低版本的是否管用,这个我没有去考证,但大部分还是不负责任的Copy Copy Copy 。还有一些方法是在提交前对所有的值先编码,我觉得这个太麻烦,额外增加了不少的前端代码量,也就没有采取。
好吧,那还是自己来处理吧。首先我们要找到切入点,也就是解决问题的入口。既然我们是要对JS传递的数据进行编码,那么首先肯定要从数据的传递函数开始。我调用的是ajaxSubmit函数,就是它了。打开js文件,找到这个函数,看源码,发现有一行:

var qx, a = this.formToArray(options.semantic);

formToArray的作用是把采集到的表单数据转换成对象数组,然后传递到$.get、$.post 等Ajax函数。我觉得有戏了。不过接下去的代码几百行,为节省时间,还是直入主题吧。我在上面那行设置断点,在Web页面输入中文数据,通过JS一步步调试来理解该源码。程序执行之后,几经跳转,最后在fieldValue这个函数的最后部分,终于找到了:
return $(el).val();

这样,我们只要在这里进行客户端的编码即可:
return escape($(el).val());

然后在服务器端,可以用 Server.UrlDecode() 进行解码,这样乱码就不在出现了,可以正确的接受中文字符了~~~

大家有什么好的方法或者建议也可以提出来。

Javascript 相关文章推荐
Javascript 中文字符串处理额外注意事项
Nov 15 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
javascript实现表单提交后,提交按钮不可用的方法
Apr 18 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
Jun 12 Javascript
JS中type="button"和type="submit"的区别
Jul 04 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 #Javascript
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 #Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 #Javascript
node.js 一个简单的页面输出实现代码
Mar 07 #Javascript
服务器端的JavaScript脚本 Node.js 使用入门
Mar 07 #Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 #Javascript
拥抱模块化的JavaScript
Mar 07 #Javascript
You might like
php microtime获取浮点的时间戳
2010/02/21 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
简单实现Python爬取网络图片
2018/04/01 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
python算法题 链表反转详解
2019/07/02 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python 复平面绘图实例
2019/11/21 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Python验证码截取识别代码实例
2020/05/16 Python
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
业务内勤岗位职责
2014/04/30 职场文书
学习型班组申报材料
2014/05/31 职场文书
大学迎新标语
2014/06/26 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
《春酒》教学反思
2016/02/22 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python