最近在做一个三合结算系统,里面大量运用了jquery,发现很多基本功都忘记了,特此记录一下。
js:
var jsonArgs={name:code};
var jsonStr=JSON.stringify(jsonArgs);
jsonStr=encodeURIComponent(jsonStr);
herf="a.action?args="+jsonStr;
这里将json对象作为参数传递到后台。在这里用encodeURIComponent将Json对象转码,在java后端我们需要解码。因为tomcat会自动对url做一次转码,所以客户端有时候需要转码两次(我这里只转码了一次),但是服务端只要解码一次就行了。
tomcat设置: service.xml ---> <Connector URIEncoding="UTF-8" connectionTimeout="200000" port="9090" protocol="HTTP/1.1" redirectPort="8443"/>
action代码:
String name = new String(args.getString("name").getBytes("ISO8859-1"),"UTF-8");