前台用Ajax传递参数到后台,如
if(bXmlHttpSupport) {
var sUrl = 'LoadMetadata.action?result=我们';
var oRequest = new XMLHttpRequest();
oRequest.onreadystatechange = function() {
if(oRequest.readyState == 4) {
//alert(oRequest.responseText);
var oResource = eval('(' + oRequest.responseText + ')');
}
}
};
oRequest.open('POST', sUrl);
oRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
oRequest.send(null);
}
里面有个参数叫result赋值为“我们”,通过struts到后台自动赋值,就变为????了。
在Eclipse里面,我已经把所有类型的页面编码方式设为UTF-8了,filter “SetCharacterEncodingFilter.java”也用了,server.xml 里面的UriEncoding设为UTF-8,web.xml里面也加入了这个filter,但是还是不行,请问还有别的办法吗?
if(bXmlHttpSupport) {
var sUrl = 'LoadMetadata.action?result=我们';
var oRequest = new XMLHttpRequest();
oRequest.onreadystatechange = function() {
if(oRequest.readyState == 4) {
//alert(oRequest.responseText);
var oResource = eval('(' + oRequest.responseText + ')');
}
}
};
oRequest.open('POST', sUrl);
oRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
oRequest.send(null);
}
里面有个参数叫result赋值为“我们”,通过struts到后台自动赋值,就变为????了。
在Eclipse里面,我已经把所有类型的页面编码方式设为UTF-8了,filter “SetCharacterEncodingFilter.java”也用了,server.xml 里面的UriEncoding设为UTF-8,web.xml里面也加入了这个filter,但是还是不行,请问还有别的办法吗?
解决方案 »
- 跪求JAVA上传多个图片、前后台代码
- JS日历控件在html能显示 但是在JSP 就报错 怎么修改!
- 在struts2中怎么样方便的结合ajax(不用其中的ajax标签)
- 在网站上如何运行servlet?
- 请教大家一个问题 随便进来谈谈 来这有分 不够再补
- showModalDialog在IE下无法禁用状态栏,在Maxthon里却可以
- 如何在页面间传递参数?(具体如下)
- 如何插入DOUBLE型数据?急!
- 怎么这个if ,else内的程序段都会执行呢?
- 如何在JSP中取得当前页面的网址?
- webOffice控件的使用 用控件打开的文档 可以进行修改再保存么?? 有经验的请进 非常感谢!!
- 用过iText的请进
guildname = new String(result.getBytes("iso-8859-1"),"gbk");试下!!
send方法参数不为null,而应该是key=value字符串
相对的,url后不出现?之后的key=value字符串
另外,参数传递要编码
你用了SetCharacterEncodingFilter.java
那么oRequest.send(null);改称
oRequest.send(encodeURI("result=你好"));
后台应该能取道了如果还是去不到
oRequest.send(encodeURI(encodeURI("result=你好")));
两次编码
后台用java.net.URLDecoder.decode(request.getParameter("result"),"utf-8")解码一次
尝试下oRequest.send("result=我们");
试用了这个代码,时可行的,但是要在ajax里用encodeURIComponent()函数编码两次,然后再action中解码
conf->server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
加上红色部分应该可以解决!