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);
					}
				}
			});
		});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值