通过JSON的多部分请求没有得到响应?

通过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的?

在此先感谢。

+0

不知道这个,但你的网址似乎很奇怪。 – Padrus 2013-04-23 08:40:01

你明白这是什么吗?

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