JQuery的Validation插件中Remote验证的中文问题


Posted in Javascript onJuly 26, 2010

根据上次的经验,我将

contentType: "application/x-www-form-urlencoded; charset=utf-8",

加入到ajax请求的参数中,结果这次居然不起作用了。

多次观察Fiddler结果,发现无效后,只好打开JQuery.Validation.js寻求答案了。

在remote的代码中,我发现:

... 
var data = {}; 
data[element.name] = value; 
$.ajax($.extend(true, { 
url: param, 
mode: "abort", 
port: "validate" + element.name, 
dataType: "json", 
data: data, 
....

原来插件自己定义了提交的数据,直接将要验证的数据以json格式传给服务器了。难怪针对form的编码定义无效。马上将value进行强制的编码encodeURIComponent(value),果然就好了!

后记:

这种方法在服务器代码处理的时候,必须显式地解码数据,通用性很差。于是,之后还是回到起点来研究更好的方法。

为了防止Validation插件对输入数据的处理,我试着采用自己的Option来覆盖Validation的Option定义:

remote: { 
url: "ajax.aspx?a=xxx", 
type: "post", 
dataType: "json", 
contentType: "application/x-www-form-urlencoded; charset=utf-8", 
data: { txt1: function() { return $("#txt1").val(); } } 
}

然后在服务器端代码中,取得Form数据中的对应数据,这样就避免了对Validation的修改,同时也满足了我的要求。
原文链接: http://www.luyuliang.com/post/chinese-issue-in-jquery-validation-plugin.aspx
Javascript 相关文章推荐
JQuery 网站换肤功能实现代码
Nov 02 Javascript
jquery创建并行对象或者合并对象的实现代码
Oct 10 Javascript
javascript贪吃蛇完整版(源码)
Dec 09 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
May 12 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
Jan 26 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
Jun 01 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
微信小程序如何获取用户信息
Jan 26 Javascript
微信小程序实现折叠面板
Jan 31 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 #Javascript
jQuery getJSON 处理json数据的代码
Jul 26 #Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
Jul 25 #Javascript
用jquery实现下拉菜单效果的代码
Jul 25 #Javascript
利用腾讯的ip地址库做ip物理地址定位
Jul 24 #Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
Jul 24 #Javascript
来自qq的javascript面试题
Jul 24 #Javascript
You might like
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
js控制input输入字符解析
2013/12/27 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python实现微信小程序自动回复
2018/09/10 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
php优化查询foreach代码实例讲解
2021/03/24 PHP
小学生美德少年事迹材料
2014/08/24 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
社区服务活动报告
2015/02/05 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
python获取带有返回值的多线程
2022/05/02 Python
Java数据结构之堆(优先队列)
2022/05/20 Java/Android
利用Python实时获取steam特惠游戏数据
2022/06/25 Python