【发布时间】:2013-04-04 19:21:39
【问题描述】:
我见过很多类似的问题,但他们没有为我的问题提供答案。 我的服务器形成 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?
P.S.据我了解,我的 JSON.parse(response.toJSON()) 不起作用,因为响应包含整个页面?
【问题讨论】:
-
jsArray.toString() 是否返回 JSON 对象?
-
调试中:jsArray - JSONArray jsArray.toString - "["Harkiv","Kiev","Lviv"]"
-
我不懂 java,但是在写完你的 jsArray 之后尝试关闭你的响应编写器。它可能类似于 response.getWriter().close();客户端, JSON.parse() 应该足够了。无需做 response.toJSON()
-
response.getWriter().close() - 是的,这就是我想要的。谢谢)
标签: javascript ajax json jsp