首頁 >web前端 >前端問答 >jquery序列化提交中文亂碼怎麼辦

jquery序列化提交中文亂碼怎麼辦

藏色散人
藏色散人原創
2023-02-09 10:33:361613瀏覽

jquery序列化提交中文亂碼的解決方案:1、開啟對應的jquery檔案;2、透過呼叫「decodeURIComponent(XXX,true);」方法將資料解碼即可解決亂碼問題。

jquery序列化提交中文亂碼怎麼辦

本教學操作環境:Windows10系統、jquery3.2.1版、DELL G3電腦

jquery序列化提交中文亂碼怎麼辦?

jquery中使用serialize() 序列化表單時 中文亂碼問題

//登录
$(".register-btn").click(function() {
var form = $("#register-form").serialize();
//序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了
            //原因:.serialize()自动调用了encodeURIComponent方法将数据编码了   
            //解决方法:调用decodeURIComponent(XXX,true);将数据解码    
            form = decodeURIComponent(form,true); //关键点
var formArray = form.split("&");
var obj = {};
for(var i = 0;i<formArray.length;i++){
var d = formArray[i].split(&#39;=&#39;);
obj[d[0]] = d[1];
}
if(obj.mobile == &#39;&#39;){
layer.msg("手机号不能为空");
return;
}
if(obj.plate == &#39;&#39;){
layer.msg("车牌号不能为空");
return;
}
if(obj.passWord == &#39;&#39; || obj.passWord2 == &#39;&#39;){
layer.msg("密码不能为空");
return;
}
if(obj.passWord != obj.passWord2){
layer.msg("两次密码不一致,请重新输入");
return;
}
my.post({
url:"user/register",
contentType : &#39;application/json;charset=utf-8&#39;, //设置请求头信息
data:JSON.stringify(obj),
done:function(result){
if(result.code == 200){
setTimeout(function(){
location.href = "./home";
},2000);
}
}
});
});

推薦學習:《jQuery影片教學

以上是jquery序列化提交中文亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn