1. 程式人生 > >easyui form表單.serialize()序列化後中文亂碼問題原因及解決

easyui form表單.serialize()序列化後中文亂碼問題原因及解決

loginAndRegDialog=$('#loginAndRegDialog').dialog({
closable:false,
modal:true,
buttons:[{
text:"登入",
handler:function(){
var params=$('#LoginInputForm').serialize();
params = decodeURIComponent(params,true);
console.info(params);
$.ajax({
url:'userController.do?login',
data:$('#LoginInputForm').serialize(),
cache:false,
dataType:'json',
success:function(r){
$.messager.alert('My Title',r.msg,'error');
}
});

}

就是在呼叫序列化的時候,中文亂碼,

原因:.serialize()自動呼叫了encodeURIComponent方法將資料編碼了  解決方法:呼叫decodeURIComponent(XXX,true);將資料解碼  例如:  var params=$('#LoginInputForm').serialize();
params = decodeURIComponent(params,true); 還有一種辦法是直接  --- console.info($('#name').val()); loginAndRegDialog=$('#loginAndRegDialog').dialog({
closable:false,
modal:true,
buttons:[{
text:"登入",
handler:function(){
var params=$('#LoginInputForm').serialize();
params = decodeURIComponent(params,true);
console.info($('#name').val());
$.ajax({
url:'userController.do?login',
data:$('#LoginInputForm').serialize(),
cache:false,
dataType:'json',
success:function(r){
$.messager.alert('My Title',r.msg,'error');
}
});

}