这篇文章主要介绍“jquery序列化提交中文乱码如何解决”,在日常操作中,相信很多人在jquery序列化提交中文乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery序列化提交中文乱码如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
jquery序列化提交中文乱码的解决办法:1、打开相应的jquery文件;2、通过调用“decodeURIComponent(XXX,true);”方法将数据解码即可解决乱码问题。
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('='); obj[d[0]] = d[1]; } if(obj.mobile == ''){ layer.msg("手机号不能为空"); return; } if(obj.plate == ''){ layer.msg("车牌号不能为空"); return; } if(obj.passWord == '' || obj.passWord2 == ''){ layer.msg("密码不能为空"); return; } if(obj.passWord != obj.passWord2){ layer.msg("两次密码不一致,请重新输入"); return; } my.post({ url:"user/register", contentType : 'application/json;charset=utf-8', //设置请求头信息 data:JSON.stringify(obj), done:function(result){ if(result.code == 200){ setTimeout(function(){ location.href = "./home"; },2000); } } }); });
到此,关于“jquery序列化提交中文乱码如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云搜网网站,小编会继续努力为大家带来更多实用的文章!