通过JSON的多部分请求没有得到响应?
问题描述:
我在java中面临的问题是,当我通过JSON发出请求,这是多部分,那时我无法从服务器获得响应。通过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的?
在此先感谢。
答
你明白这是什么吗?
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()
就可以了。那什么都不做。 - 然后您将字符串转换为字节数组。字节数组将包含以UTF-8编码的字符串内容。
- 然后你将字节解释回字符串。您不指定字符编码,因此使用系统的默认字符编码,可能是也可能不是UTF-8。
- 然后你打印出结果(这可能会或可能不包含“状态”,这取决于你的系统的默认字符编码),以
out
。
这很可能不会做你想要的。你可以写:
out.println("status");
如果这是你想要的。
准确找出应该从Java代码发送的响应,并编写代码以正确的格式发送响应。
+0
优秀。真棒解释,队友。后来投了票。 – 2013-04-23 08:43:00
+0
这只是我显示的例子。因为我没有从服务器获取任何东西。这是我的服务器变量,但在这里张贴我已经取代了它,但忘了取代大代码..对此, – 2013-04-23 08:44:05
不知道这个,但你的网址似乎很奇怪。 – Padrus 2013-04-23 08:40:01