dwz中“查找返回”中文参数值的有关问题

来源:互联网 发布:阿里云 免费 开通码 编辑:程序博客网 时间:2024/06/07 05:12
dwz中“查找返回”中文参数值的问题
这几天使用到dwz中查找返回的插件,发现如果传递有中文参数值时,在服务端就会request不到,
而且这种情况出现在chrome和IE。查看了一下源代码,发现最终提交的是以get的方式进行ajax提交,所以会导致中文问题。
那么我决定对这个查找返回的插件进行改造一下,原本页面上的代码需要这么写,


<a class="btnLook" 
href="${path}/guidance/doctor/lookUpWithHospital?isLookup=1&likeHospitalName={hospitalName}&likeDoctorName=${model.name }" 
lookupGroup="">查找带回
</a> 我把这个代码调整为 


<a class="btnLook" 
data="isLookup=1&likeHospitalName={hospitalName}&likeDoctorName=${model.name }"
href="${path}/guidance/doctor/lookUpWithHospital" 
lookupGroup="" 
type="POST" >
查找带回
</a> 主要是把参数独立出来作为data,并且新增了type的提交方式。


这里只是调整了页面上的代码,那么js需要怎么调整呢?如下:
•dwz.database.js文件lookup方法click事件修改如下:
var data = $this.attr("data") || {};
var type = $this.attr("type") || "";
$.pdialog.open(url, "_blank", $this.attr("title") || $this.text(), options , data , type);其中 data , type为新增


•dwz.dialog.js文件open方法修改如下:
open:function(url, dlgid, title, options,data,type) {
...
if(dialog) {
...
}
else{
...
jDContent.loadUrl(url, data, function(){
....
},type);
.....
}
} 其中data 和 type为新增


•dwz.core.js文件loadUrl方法修改为如下:
loadUrl: function(url,data,callback,type){
$(this).ajaxUrl({url:url, data:data, callback:callback , type:type});
}其中: type:type为新增


其实这里主要是仿照了列表页搜索的功能(搜索也有查找中文,而且最终也是用了ajax的post方式提交,
我们需要思考为什么这样就不会出现中文问题呢?)


另外一种解决方法
在dwz.core.js里面:针对于{xxx}替换内容为中文时
replaceTmById:function(_box){
var $parent = _box || $(document);
return this.replace(RegExp("({[A-Za-z_]+[A-Za-z0-9_]*})","g"), function($1){
var $input = $parent.find("#"+$1.replace(/[{}]+/g, ""));//这里找到$1即{sid_user}对应的内容 <tr target="sid_user" rel="中文4">
                var temp = encodeURI($input.val());//添加这行代码,把中文值进行编码转换
return $input.val() ? temp : $1;//修改这里
});
原创粉丝点击