[原创]JQuery的Validation插件中Remote验证的中文问题
2010-07-25 23:57
465 查看
前段时间,再次出现AJAX中文编码问题,导致会员名重复检测失败,不过这次出现问题的是Validation插件的remote验证。根据上次的经验,我将
多次观察Fiddler结果,发现无效后,只好打开JQuery.Validation.js寻求答案了。
在remote的代码中,我发现:
后记:
这种方法在服务器代码处理的时候,必须显式地解码数据,通用性很差。于是,之后还是回到起点来研究更好的方法。
为了防止Validation插件对输入数据的处理,我试着采用自己的Option来覆盖Validation的Option定义:
转载请保留原文链接: http://www.luyuliang.com/post/chinese-issue-in-jquery-validation-plugin.aspx
1.
contentType:
"application/x-www-form-urlencoded; charset=utf-8"
,加入到ajax请求的参数中,结果这次居然不起作用了。
多次观察Fiddler结果,发现无效后,只好打开JQuery.Validation.js寻求答案了。
在remote的代码中,我发现:
01.
...
02.
var
data = {};
03.
data[element.name] = value;
04.
$.ajax($.extend(
true
, {
05.
url:param,
06.
mode:
"abort"
,
07.
port:
"validate"
+ element.name,
08.
dataType:
"json"
,
09.
data: data,
10.
...原来插件自己定义了提交的数据,直接将要验证的数据以json格式传给服务器了。难怪针对form的编码定义无效。马上将value进行强制的编码encodeURIComponent(value),果然就好了!
后记:
这种方法在服务器代码处理的时候,必须显式地解码数据,通用性很差。于是,之后还是回到起点来研究更好的方法。
为了防止Validation插件对输入数据的处理,我试着采用自己的Option来覆盖Validation的Option定义:
1.
remote: {
2.
url:
"ajax.aspx?a=xxx"
,
3.
type:
"post"
,
4.
dataType:
"json"
,
5.
contentType:
"application/x-www-form-urlencoded; charset=utf-8"
,
6.
data: { txt1:
function
() {
return
$(
"#txt1"
).val(); } }
7.
}然后在服务器端代码中,取得Form数据中的对应数据,这样就避免了对Validation的修改,同时也满足了我的要求。
转载请保留原文链接: http://www.luyuliang.com/post/chinese-issue-in-jquery-validation-plugin.aspx
相关文章推荐
- JQuery的Validation插件中Remote验证的中文问题
- JQuery的Validation插件中Remote验证的中文问题
- 关于JQuery的Validation插件中Remote验证的中文问题
- Jquery validation remote 验证的缓存问题解决方法
- 解决 Jquery validation remote 验证的缓存问题
- Jquery validation remote 验证的缓存问题解决方法
- Jquery validation remote 验证的缓存问题解决方法
- jquery validation remote depends 验证触发条件
- jQuery Validation Plugin客户端表单验证插件(3)
- Validation-jQuery表单验证插件使用方法
- jquery.validationEngine ajax验证问题
- jquery validation remote进行唯一性验证时只使用自定义参数,不使用默认参数
- js表单验证 插件jQuery-Validation-Engine-master
- jquery插件validation实现验证身份证号等
- jQuery表单验证插件 Validation
- Jquery验证插件Validation的运用
- jQuery- 表单验证插件-Validation
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- jQuery学习之:Validation表单验证插件