作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 01:25:06 阅读 我要评论

根据上次的经验,我将 复制代码 代码如下: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 Hack

1. 直接在浏览器中编辑网页内容 复制代码 代码如下:javascript:document.body.contentEditable='true';document.designMode='on'; void(0); 访问任意网站,在地址栏输入以上代码,会发生当前网页已经变成编辑模式了>>>详细阅读


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

地址:http://www.17bianji.com/kaifa2/JS/25954.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)