get 请求 将数据附在url后面 形成如xxx/fetch?id=1&type=商品
后台通过
string id=request.getParameter("id");
String goodType=request.getParameter("type");
而post请求,则需要后台通过
public String controllerPostUtil(HttpServletRequest request){
String json="";
BufferReader br=null;
StringBuffer sb=null;
try{
br=request.getReader();
String str="";
while((str=br.readLine())!=-1){
sb.append(str);
}
br.close();
}catch(IOException e){
e.printStack();
}
json=sb.toString();
return json;
}
即得到
问题来了:
1为什么我后台还是拿不到数据呢?
检查前台传送的data是不是标准json格式。JSON.Stringify(data);
2我get请求中文乱码啦!
(1),tomcat的server.xml 设置
<Connector URIEncoding="UTF-8"
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
connectionTimeout="20000" disableUploadTimeout="true" />
(2),设置编码集(对get请求无用,因为get是通过url传递,所以对request设置编码集没用!!!)
(3),url上附带了中文,你可以前台通过encodeurl(encodurl(url))
后台URLDecode.decode(str,“utf-8”) 即可
3 我post请求乱码啦!
因为通过前面 我们拿取post的数据是通过request.reader()获取
所以post乱码原因
可能未设置request编码集 request.setCharacterEncoding("utf-8");
——————————-face problem then solve it