jquery form表单.serialize()序列化后中文乱码问题
作者:管理员 日期:2019-09-20 浏览:
前台:
var params =$('#addForm').serialize();
params = encodeURI(encodeURI(decodeURIComponent(params,true)));
$.ajax({
type: "post",
url: "sptSUPPSupplierBankController.cmd?method=persisit",
data: params,
success: function(data) {
if(data=='1'){
alert("保存成功");
}else{
alert("保存失败!");
}
}
});
jquery form表单.serialize()序列化后中文乱码问题原因及解决
原因:
.serialize()自动调用了encodeURIComponent方法将数据编码了
解决方法:调用decodeURIComponent(XXX,true);将数据解码
例如:
var params = $("#formId").serialize();
params = decodeURIComponent(params,true);
在进行编码
params = encodeURI(encodeURI(params));
后台
params = java.net.URLDecoder.decode(params , "UTF-8");
问题解决。