日期:2014-05-17  浏览次数:20800 次

Jquery的表单serialize()乱码求解决
var params =  $("#aform").serialize(); 
alert(params);
$.ajax({
type: "POST",              url:uri,    
encoding: "UTF-8",
data: params,
beforeSend: function(){
},
success: function(msg){
alert(msg);
    }
1.params有中文乱码。
2.data可以直接写serialize么,提交不了。如果把data改成"",就能提交。但我要提交表单数据啊。
求大婶帮解决
------最佳解决方案--------------------
我项目里头单个参数的乱码处理方式:
    前台this.attachmentName = encodeURIComponent(preName);
    后台attachmentName = URLDecoder.decode(attachmentName,"UTF-8");

你可以试试
params = encodeURIComponent(params)

String xxx = request.getParameter("test");
xxx = URLDecoder.decode(xxx,"UTF-8")

------其他解决方案--------------------
楼主是不是把编码理解成乱码了..
是不是如下情形..?
FirstName=%E5%95%8A%E5%95%8A&LastName=%E5%95%8A%E5%95%8A
------其他解决方案--------------------
你要用 js在前端先编码成 utf-8一下

不过呢, 一般用表单提交, 不用设置编码。 只要你的jsp编码是正确的就行了
------其他解决方案--------------------
引用:
楼主是不是把编码理解成乱码了..
是不是如下情形..?
FirstName=%E5%95%8A%E5%95%8A&LastName=%E5%95%8A%E5%95%8A

是的,不过也无法提交啊