[英]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.