jquery序列化提交中文乱码如何解决

前端开发   发布日期:2023年06月11日   浏览次数:589

这篇文章主要介绍“jquery序列化提交中文乱码如何解决”,在日常操作中,相信很多人在jquery序列化提交中文乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery序列化提交中文乱码如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

jquery序列化提交中文乱码的解决办法:1、打开相应的jquery文件;2、通过调用“decodeURIComponent(XXX,true);”方法将数据解码即可解决乱码问题。

jquery中使用serialize() 序列化表单时 中文乱码问题

  1. //登录
  2. $(".register-btn").click(function() {
  3. var form = $("#register-form").serialize();
  4. //序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了
  5. //原因:.serialize()自动调用了encodeURIComponent方法将数据编码了
  6. //解决方法:调用decodeURIComponent(XXX,true);将数据解码
  7. form = decodeURIComponent(form,true); //关键点
  8. var formArray = form.split("&");
  9. var obj = {};
  10. for(var i = 0;i<formArray.length;i++){
  11. var d = formArray[i].split('=');
  12. obj[d[0]] = d[1];
  13. }
  14. if(obj.mobile == ''){
  15. layer.msg("手机号不能为空");
  16. return;
  17. }
  18. if(obj.plate == ''){
  19. layer.msg("车牌号不能为空");
  20. return;
  21. }
  22. if(obj.passWord == '' || obj.passWord2 == ''){
  23. layer.msg("密码不能为空");
  24. return;
  25. }
  26. if(obj.passWord != obj.passWord2){
  27. layer.msg("两次密码不一致,请重新输入");
  28. return;
  29. }
  30. my.post({
  31. url:"user/register",
  32. contentType : 'application/json;charset=utf-8', //设置请求头信息
  33. data:JSON.stringify(obj),
  34. done:function(result){
  35. if(result.code == 200){
  36. setTimeout(function(){
  37. location.href = "./home";
  38. },2000);
  39. }
  40. }
  41. });
  42. });

以上就是jquery序列化提交中文乱码如何解决的详细内容,更多关于jquery序列化提交中文乱码如何解决的资料请关注九品源码其它相关文章!