我需要通過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代碼:
<%@page import="cl.test.pos.web.delegate.POSXXXXXXXX"%>
<%@page import="org.json.simple.JSONObject"%>
<%
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中搜索並在網上衝浪,我找不到最好的方法來做到這一點)。