通过jquery 传递json参数到Servlet的问题?
页面:$.ajax({url:url,data:{"a":"1","b":"2","c":"4"},type:'post',dataType:'json',content...
页面:
$.ajax({
url: url,
data:{"a":"1","b":"2","c":"4"},
type: 'post',
dataType: 'json',
contentType: 'application/json;charset=utf-8',
cache: false,
success: function(data) {
},
error: function(xhr) {
//中间发生异常,查看xhr.responseText
}
});
Servlet:
public String readJSONString(HttpServletRequest request){
StringBuffer json = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader(); //读取所有参数
while((line = reader.readLine()) != null) {
json.append(line);
}
}catch(Exception e) {
System.out.println(e.toString());
}
return json.toString();
}
现在的问题是json.toString()返回的值是“a=1&b=2&c=3”,有什么办法可以直接转换成map或其他的吗?不然用split “&”取值比较麻烦,有好的解决办法吗? 展开
$.ajax({
url: url,
data:{"a":"1","b":"2","c":"4"},
type: 'post',
dataType: 'json',
contentType: 'application/json;charset=utf-8',
cache: false,
success: function(data) {
},
error: function(xhr) {
//中间发生异常,查看xhr.responseText
}
});
Servlet:
public String readJSONString(HttpServletRequest request){
StringBuffer json = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader(); //读取所有参数
while((line = reader.readLine()) != null) {
json.append(line);
}
}catch(Exception e) {
System.out.println(e.toString());
}
return json.toString();
}
现在的问题是json.toString()返回的值是“a=1&b=2&c=3”,有什么办法可以直接转换成map或其他的吗?不然用split “&”取值比较麻烦,有好的解决办法吗? 展开
4个回答
展开全部
把return 改成return null; 或者
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.write(“{\"code\":\"1\"}”);
这样就可以返回json格式的字符串了
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.write(“{\"code\":\"1\"}”);
这样就可以返回json格式的字符串了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个没有,你得自己封装一套方法,至于想怎么处理时你自己的事,比如你想直接装换成map,就可以自己封装一个方法,这个方法的作用就是把请求参数转化成map对象,方法可以使这样的public Map reqToMap(Request req){},以后用的时候直接调用此方法就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写在一个参数里面,后台得到后用GSon工具一解析即可用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再过一个月,我有解!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询