我需要通过ajax(使用Jquery)发送JSON对象,并通过JSP(服务器端)中的请求对象获取所有参数。通过ajax发送JSON并通过JSP中的请求获取参数
我的JS代码:
var request = new Object();
request.param1= "value1";
request.param2 = "value2";
$.ajax({
type:'GET',
url: 'test.jsp',
//data: {request:JSON.stringify(dataSend)},
//data: {request:dataSend},
//data: JSON.stringify(request),
data:request,
async:true,
success:function(r){
console.log(r);
},
error:function(error){
console.log(error);
}
});
我的JSP代码:
JSONObject j = new JSONObject();
if(session.getAttribute("role") != null){
POSXXXXXXXX bx = new POSXXXXXXXX();
String je;
je = bx.setTest(request);
out.print(je);
out.close();
}else{
j.put("responseStatus","EXCEPTION");
request.getSession().invalidate();
out.print(j);
out.close();
}
%>
而且方法类是
public String setTest(HttpServletRequest request) throws IOException{
JSONObject j = new JSONObject();
try{
j.putAll(request.getParameterMap());
j.put("responseStatus", "OK");
}catch(FrameworkException e){
/*Any code*/
}catch(Throwable t){
/*Any code*/
}
return j.toJSONString();
}
我希望在客户端返回一个JSON对象和这是如此,但是,响应是这样的:
{ “参数1”:[Ljava.lang.String; @ 182f12f, “参数2”:Ljava.lang.String; @ 1a881f5}
值是不可理解的,如果我发送对象和数组,它是如此错误也是如此,例如:
{ “parametro4 [1] [P3]”:[Ljava.lang.String; @ c5954b, “parametro4 [1] [P4]”:[Ljava。 lang.String; @ 1cc9339,“parametro5 [arr1] []”:[Ljava.lang.String; @ 1d5af30}
请帮助我获取所有参数来自HttpServletRequest的JSONObject。我真的需要知道做到这一点的最佳方式。
(我已经在StackOverFlow中搜索并在网上冲浪,我找不到最好的方法来做到这一点)。