2014-04-15 42 views
-4

這是我的servlet代碼請檢查代碼並告訴我爲什麼會出現此錯誤?

List<Group> list= dao.findgroup(user); 
     JSONObject json=(JSONObject) JSONSerializer.toJSON(list); 
     ServletResponse response=ActionContext.getServletResponse(); 
     response.setContentType("text/JSON"); 
     PrintWriter out=response.getWriter(); 
     out.println(json); 
     out.close(); 

//這是我的jQuery代碼

$.get("viewgroup.process",function(data){ 
     var use=$.parseJSON(data); 
     $(use).each(function(i,v) 
     { 

     var det="<tr><td>"+v.value+"</td><td>"+v.description+"</td><td>"+v.code+"</td><td>"+v.status+"</td><td><a href='#'>reset code</a></td><td><a href='#'>change status</a></td></tr>"; 
     $(det).appendTo("#tablebody"); 
     }); 

現在我的問題是,當我發送該請求,並得到一個列表作爲JSON對象,當我使用方法parseJSON它給了我錯誤:

SyntaxError: JSON.parse: unexpected character

任何一個可以告訴我,爲什麼這個錯誤呢?

+0

我有一個列表,並使用jsonserlializer已轉換成JSONObject的?AMD刈其現在的工作?任何方法可行,爲什麼它不工作 – user3380123

回答

0

很肯定使用$.getdata參數已經是一個JavaScript對象(而不是一個JSON字符串),所以無需再次對其進行分析:

$.get("viewgroup.process",function(data){ 
    var use = data;//or just use data directly rather that a new variable called use 
    $(use).each(function(i,v) 
    { 
     var det="<tr><td>"+v.value+"</td><td>"+v.description+"</td><td>"+v.code+"</td><td>"+v.status+"</td><td><a href='#'>reset code</a></td><td><a href='#'>change status</a></td></tr>"; 
     $(det).appendTo("#tablebody"); 
    }); 
    //rest of code... 
}); 
+0

爲什麼數據參數是當我發送一個JSON對象作爲響應JavaScript對象? – user3380123

+1

因爲那個JQuery人員如何決定它應該工作。另外,沒有JSON對象這樣的事情,JSON意味着JavaScript Object Notation,並且基本上只是一個字符串。 JQuery'$ .get'被實現來爲你解析那個字符串,所以你可以使用它更容易 – musefan

相關問題