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 相关文章推荐
Array对象方法参考
Oct 03 Javascript
TreeView 用法(有代码)(asp.net)
Jul 15 Javascript
Chosen 基于jquery的选择框插件使用方法
May 30 Javascript
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
node.js [superAgent] 请求使用示例
Mar 13 Javascript
jQuery实现预加载图片的方法
Mar 17 Javascript
js实现的简单图片浮动效果完整实例
May 10 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
详解js根据百度地图提供经纬度计算两点距离
May 13 Javascript
JavaScript判断浏览器运行环境的详细方法
Jun 30 Javascript
JS实现简单tab选项卡切换
Oct 25 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
资产评估专业大学生求职信
2013/09/29 职场文书
《长城》教学反思
2014/02/14 职场文书
新学期教师寄语
2014/04/02 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
工作一年自我鉴定
2019/06/20 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python