jquery序列化提交中文亂碼的解決辦法:1、打開(kāi)相應(yīng)的jquery文件;2、通過(guò)調(diào)用“decodeURIComponent(XXX,true);”方法將數(shù)據(jù)解碼即可解決亂碼問(wèn)題。
本教程操作環(huán)境:Windows10系統(tǒng)、jquery3.2.1版、DELL G3電腦
jquery序列化提交中文亂碼怎么辦?
jquery中使用serialize() 序列化表單時(shí) 中文亂碼問(wèn)題
//登錄 $(".register-btn").click(function() { var form = $("#register-form").serialize(); //序列化中文時(shí)之所以亂碼是因?yàn)?serialize()調(diào)用了encodeURLComponent方法將數(shù)據(jù)編碼了 //原因:.serialize()自動(dòng)調(diào)用了encodeURIComponent方法將數(shù)據(jù)編碼了 //解決方法:調(diào)用decodeURIComponent(XXX,true);將數(shù)據(jù)解碼 form = decodeURIComponent(form,true); //關(guān)鍵點(diǎn) var formArray = form.split("&"); var obj = {}; for(var i = 0;i<formArray.length;i++){ var d = formArray[i].split('='); obj[d[0]] = d[1]; } if(obj.mobile == ''){ layer.msg("手機(jī)號(hào)不能為空"); return; } if(obj.plate == ''){ layer.msg("車牌號(hào)不能為空"); return; } if(obj.passWord == '' || obj.passWord2 == ''){ layer.msg("密碼不能為空"); return; } if(obj.passWord != obj.passWord2){ layer.msg("兩次密碼不一致,請(qǐng)重新輸入"); return; } my.post({ url:"user/register", contentType : 'application/json;charset=utf-8', //設(shè)置請(qǐng)求頭信息 data:JSON.stringify(obj), done:function(result){ if(result.code == 200){ setTimeout(function(){ location.href = "./home"; },2000); } } }); });
登錄后復(fù)制
推薦學(xué)習(xí):《jQuery視頻教程》