JSP页面用的是GBK编码,JS代码如下:
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#btn").click(function() {
var content=$("#content").serialize();
var params = $("input").serialize()+"&"+encodeURIComponent(content);// 序列化表单的值
$.ajax({
url : "querymessage.action",// 请求的url
type : "post",// 发送方式
dataType : "json",// 接受数据格式
data : params,// 要传递的数据
error:function(json) { // 回传函数
$("#result").html("系统错误,请重新登录……");
},
success : function(json) { // 回传函数
var str="<table><tr><td>";
str+=json.comid;
str+="</td><td>";
str+=json.mtime;
str+="</td></tr><tr><td>";
str+=json.content;
str+="</td></tr></table>";
$("#result").append(str);
}
});
});
});
</script>到了action类的时候开始出现乱码。
网上提到了很多关于encodeURI之类的方法,但仍旧无法解决。
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#btn").click(function() {
var content=$("#content").serialize();
var params = $("input").serialize()+"&"+encodeURIComponent(content);// 序列化表单的值
$.ajax({
url : "querymessage.action",// 请求的url
type : "post",// 发送方式
dataType : "json",// 接受数据格式
data : params,// 要传递的数据
error:function(json) { // 回传函数
$("#result").html("系统错误,请重新登录……");
},
success : function(json) { // 回传函数
var str="<table><tr><td>";
str+=json.comid;
str+="</td><td>";
str+=json.mtime;
str+="</td></tr><tr><td>";
str+=json.content;
str+="</td></tr></table>";
$("#result").append(str);
}
});
});
});
</script>到了action类的时候开始出现乱码。
网上提到了很多关于encodeURI之类的方法,但仍旧无法解决。
解决方案 »
- 变量名能替代属性名吗
- 高分求教js怎么创建多维JSON!!!
- 紧急求救,IE8 兼容性的问题
- 嘿嘿大家好啊!
- screen.width为什么和分辨率不一样啊?
- 我写了两个js,a.js,b.js,其中a.js中每个函数,要调用b.js中的另一个函数,在a.js中如何导入才能b.js中的函数在a.js中可见?
- 想做一个有多个<div>可以拖拽的页面,兄弟们帮帮我(高分急救)
- 新手上路-二进制加减乘,交并补 算法求助 |在线等解|
- 怎么将二进制转换为字符
- 在使用iframe的src="a.txt"后,iframe的背景色问题?
- 高手请进,遇到棘手拖动问题!
- Fill Form填写表单扩展(火狐浏览器下最简单方便的填写表单的插件)
2不要用json来定义参数,这样可能会出现冲突
第二,现在是留言处理,用的是jquery的表单提交的方式,不用json定义参数的话,请问还有什么方法呢?
然后action中: String content= java.net.URLDecoder.decode(request.getParameter("combo"),"GBK");
也就是通过手动方式,把非规范字符全部转成unicode码,并对控制字符转义。具体结果你可以参考google的ajax我有C#下我自己写的函数,java下面,我可没
或者设置成GBK的,楼主使用json和定义参数不是一回事,参数是变量什么都可以,只要使用json的方法就行function(json)这里的参数换成边的代替
后来我试过可以了,不过跟你有点不太一样:
JSP页面是:
var params = $("input").serialize();
params=encodeURI(params);
在action里面是:
username=java.net.URLDecoder.decode(username,"UTF-8");
因为我用的是Struts2,所以不需要request,直接取参数就好了……谢谢你,分数就送给你吧~~~(*^__^*)