2015-10-13 74 views
0

我在做一個AJAX請求到自己的REST API,並試圖在警報打印我得到的消息。
問題的關鍵是,我發現了以下錯誤:SyntaxError: Unexpected token :Grails的Ajax回調不渲染/正確響應

,使調用的代碼是:

$.ajax({ 
     url:"${g.createLink(controller:'report',action:'show')}", 
     dataType: 'json', 
     data: { 
      data: jSon, 
     }, 
     success: function(data) { 
      alert(data) 
     }, 
     error: function(request, status, error) { 
      alert(error) 
     }, 
     complete: function() { 
     } 
    }); 

返回值我在控制器印刷是:

JSON: {"results":"SELECT cliente.edad FROM Cliente cliente,Local local WHERE Local.numero==3 GROUP BY Cliente.edad ORDER BY Cliente.edad undefined""} 

而且我在做什麼的控制器:

println "JSON: " + java.net.URLDecoder.decode((String)apiResponse.json) 
    render java.net.URLDecoder.decode((String)apiResponse.json) 

我也試圖與respond代替render但同樣的錯誤

+0

你找到了答案,你的問題。如果是,那麼也許回答你自己的問題? – Neoryder

+0

請包括您用來查詢數據庫的代碼 – Neoryder

+0

可悲的是我還在處理它,我正在準備考試。問題是我在客戶端得到了正確的json,但是當我做一個提醒時,消息是「SyntaxError」 – Federico

回答

0

嘗試使用呈現爲JSON

def results = ['a':'AA','b':'BB'] 

render results as JSON 
+0

我得到的是:'不能投射對象'{「results」:「SELECT cliente.edad FROM cliente cliente,departamente departamente WHERE Departamente.nombre == ASDF GROUP BY row.grouping ORDER BY row.sorting未定義 「」} '帶班 'java.lang.String中' 上課' grails.converters.JSON'' – Federico

+0

這意味着你試圖轉換錯誤的東西,請包括你用來查詢數據庫的代碼 – Neoryder

+0

它也說.edad或age是undefined,請檢查你的表是否存在,也就是說嘗試在sqldeveloper中運行這個。 – Neoryder