JQuery的Validation插件中Remote验证的中文问题_jquery
程序员文章站
2022-04-27 16:59:23
...
根据上次的经验,我将
加入到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
复制代码 代码如下:
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
上一篇: PHP 抓取内容中图片并下载保存的代码
下一篇: 简单oracle判断后插入数据
推荐阅读
-
jquery.ajax的url中传递中文乱码问题的解决方法
-
如何解决Jquery插件nicescroll在ie8中出现的滚动问题
-
jQuery Validation插件remote验证方式的Bug解决_jquery
-
jQuery Validation插件remote验证方式的Bug解决_jquery
-
jquery.ajax的url中传递中文乱码问题的解决方法
-
jquery.ajax的url中传递中文乱码问题的解决方法_jquery
-
表单验证插件Validation应用的实例讲解_jquery
-
jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧
-
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题_jquery
-
jquery validation插件表单验证的一个例子_jquery