jquery form表单.serialize()序列化后中文乱码问题

前台:
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");
问题解决。

猜你喜欢

转载自blog.csdn.net/fzy629442466/article/details/84786049