手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JQuery的Validation插件中Remote验证的中文问题
JQuery的Validation插件中Remote验证的中文问题
摘要:根据上次的经验,我将复制代码代码如下:contentType:"application/x-www-form-urlencoded;char...

根据上次的经验,我将

复制代码 代码如下: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

【JQuery的Validation插件中Remote验证的中文问题】相关文章:

jQuery插件Slider Revolution实现响应动画滑动图片切换效果

JavaScript中for循环的使用详解

jQuery插件制作之参数用法实例分析

JQuery boxy插件在IE中边角图片不显示问题的解决

jquery.validate使用时遇到的问题

JQuery控制Radio选中方法分析

AngularJs中route的使用方法和配置

javascript插件开发的一些感想和心得

JQuery插件jcarousellite的参数中文说明

JavaScript中length属性的使用方法

精品推荐
分类导航