`
liyonghui160com
  • 浏览: 762835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

 

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转为汉子即可。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics