我在java中遇到的问题是,当我通过JSON发出请求时,多部分时间我无法从服务器获得响应。
这是javascript的reuest块:
$.ajaxFileUpload({ url: "/iview",
secureuri:false,
fileElementsId:fileIds,
dataType:entity.config.dataType?entity.config.dataType:"text",
data:{appmode:entity.config.appmode,
json:requestObject,"__RequestType":"ajax"},
success: function (data, status){
for(var ent in fileIds){
entityObject[ent].object = document.getElementById(fileIds[ent]);
entityObject[ent].object.id = fileIds[ent];
}
requestResponse(data);
},
error: function (data, status, e){
Cyberoam.removeOverLay();
Cyberoam.messageBox({message:reportlabels.ConnectionLostMsg,autoClose:true});
},timeout:30*60*1000
}
);
下面是发送响应的servlet代码:
PrintWriter out =response.getWriter();
response.setContentType("text/plain");
out.println(new String(("status").toString().getBytes("UTF-8")));
out.close();
所以请帮忙解决这个问题,以获得JSON的多部分请求的响应?
提前感谢。
答案 0 :(得分:2)
你明白这是做什么的吗?
out.println(new String(("status").toString().getBytes("UTF-8")));
让我们重写它,以便我们可以看到不同的部分。
String s1 = "status";
String s2 = s1.toString();
byte[] bytes = s2.getBytes("UTF-8");
String s2 = new String(bytes);
out.println(s2);
这就是发生的事情:
toString()
。这没什么。out
。这很可能不会做你想要的。你可以写完:
out.println("status");
如果那就是你想要的。
确切了解应从Java代码发送的响应,并编写代码以正确的格式发送响应。