繁体   English   中英

在javascript中处理JSON服务器响应

[英]Handle JSON server response in javascript

我已经看到许多类似的问题,但是它们没有为我的问题提供答案。 我的服务器表单JSON字符串并将其放入响应中:

List<String> list = getSomeList();
JSONArray jsArray = new JSONArray(list);
System.out.println(jsArray);
response.setContentType("application/json");
response.getWriter().write(jsArray.toString());

但是当我提醒响应时,在我的javascript处理函数中,它会提醒所有页面!

function handleResponse(){    
 if(http.readyState == 4 && http.status == 200){  
  var response = http.responseText;
   if(response){ 
     alert(response); //alert all page!
     var list = JSON.parse(response.toJSON()); //doesn't work! 
 }       
} 

问题 :如何在JavaScript中仅分隔jsArray?

PS据我了解,我的JSON.parse(response.toJSON())不起作用,因为响应包含整个页面?

免责声明:我不懂Java。

服务器端的问题可能是在编写JSON数组后,您的响应未关闭,从而允许编写其他(html)文本。 尝试这个:

response.setContentType("application/json");
response.getWriter().write(jsArray.toString());
response.getWriter().close();

在客户端,responseText是一个字符串,并且字符串没有定义toJSON()函数。

var list = JSON.parse(http.responseText); 

应该足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM