系统中常见的查询,导出。但前台页面传递到后台参数包含中文时,会有编码问题。所以必须对url进行编码转换,我们才能再action中获得对应的中文参数。
可以参照如下代码操作就ok
var params = frm.getValues(true);
var finalParams = "";
var paramsArr = params.split("&");
for (var i = 0; i < paramsArr.length; i++) {
var paramsField = paramsArr[i].split("=")[0];
var paramsValue = paramsArr[i].split("=")[1];
if (!paramsValue || decodeURI(paramsValue) == "请选择") {
continue;
}
paramsValue = decodeURI(paramsValue);
// 替换所有%2C为逗号
while ((paramsValue = paramsValue.replace('%2C',
',')).indexOf('%2C') != -1);
paramsValue = decodeURI(paramsValue);
var temString = paramsField + "=" + paramsValue
+ "&";
finalParams += temString;
}
var url = 'aaaaa.action?'
+ finalParams;
url = encodeURI(encodeURI(url));
window.location.href = url;