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