jquery ajax()方法传值乱码问题



今天在用jquery.ajax()方法时,页面传的值到后台是乱码,解决这个问题有两个方法:


方法一:用方法encodeURI() ,一定是两个encodeURI()


前台页面处理方法如下:我这的编码为UTF-8,如下所示:


              $.ajax({ 

            url:"getIsAddWorkToday.action?1=1&workName="+encodeURI (encodeURI(empName)),

            cache:false,

            type:"post",

            contentType:”text/html;charset=utf-8”,

            success:function(text) {}

});


后台也要做相应处理方法如下:


               String workName =request.getParameter("workName");

               if (!"".equals(workName) && workName !=null) {

                   workName = java.net.URLDecoder.decode(workName,"utf-8");

            }


方法二:ajax()方法加一个属性contentType


contentType类型:String默认值:"application/x-www-form-urlencoded"。它是发送信息至服务器时内容编码类型。一般我们设置为text/html即可.如下所示


      $.ajax({ 

              url:"getIsAddWorkToday.action?1=1&workName="+empName,

             cache:false,

             type:"post",

             contentType:”text/html;charset=utf-8”,

             success:function(text) {}

});


总结的也许存在问题,希望大家能给出意见。



你可能感兴趣的:(jquery ajax()方法传值乱码问题)