jquery为什么序列化提交会出现中文乱码?(解决方法)

2025年02月06日 建站教程

jquery为什么使用serialize()序列化表单提交会出现中文乱码?下面web建站小编给大家详细介绍一下解决方法!

序列化中文时之所以乱码是因为serialize()调用了encodeURLComponent方法将数据编码。

解决方法如下:

$(".btn").click(function() {
  var form = $("#form").serialize();
  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];
  }
  my.post({
    url:"/form",
    contentType : 'application/json;charset=utf-8', //设置请求头信息
    data:JSON.stringify(obj),
    done:function(result){
      if(result.code == 200){
        //执行方法
      }
    }
  });
});

本文链接:http://so.lmcjl.com/news/22656/

展开阅读全文