jQuery.ajax()传值中文乱码问题

本文介绍如何解决使用JQuery AJAX传递中文参数时出现的乱码问题,通过URL参数传递并采用Unicode编码的方式,避免了后端解析困难的情况。

 

Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了。

一、$.ajax的一般格式

$.ajax({

     type: 'POST',

     url: url ,

    data: data ,

    success: success ,

    dataType: dataType

});

具体参数不在赘述了。

项目开发中使用到了传递中文参数,直接传递时候出现了乱码,程序后端无法解析。

后来想起了使用unicode编码进行了参数传递,使用的是上述的格式进行参数传递,发现后端接受到时候,已经被做了处理,将“\”替换成了“%”,可能是jquery为了安全做了处理,不想再后端在进行处理替换了,替换可能会怕出现一些其他问题,那么该怎样解决呢,读了源码,决定换一种方式,传递参数

 

var yz=$.ajax({   
     type:'post',   
     url:'validatePwd2_checkPwd2?password2='+password2,   
     cache:false,   
     dataType:'json',   
     success:function(data){   
          if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间   
          {   
               textPassword2.html("<font color='red'>业务密码不正确!</font>");   
               $("#validatePassword2").val("pwd2Error");   
               checkPassword2 = false;   
               return;   
           }   
      },   
      error:function(){}   
}); 

直接拼接到url参数中。解决问题。后端只需要将unicode转为汉子即可。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值