簡體   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