2013-11-01 16 views
1

我最近更新了我的Grails安裝從2.2到2.3.1,並嘗試使用<g:javascript>環境中的groovy表達式來獲取某些json數據結構時遇到錯誤。g:javascript環境中的Grails 2.3表達式輸出錯誤

這是一個例子:

<g:javascript> 
    var foo = ${ bar as grails.converters.JSON }; 
    doSomeStuff(); 
</g:javascript> 

這將逃脫整個JSON串爲Unicode字符(\u005b\u007bid:1\u002c name:.....)。如何獲得原始字符串?正如文件指出的那樣:我嘗試使用raw()關鍵字。但沒有運氣。我沒有更改任何與我的XSS相關的配置。這就是我的配置:

grails.views.default.codec = "none" 
grails.views.gsp.encoding = "UTF-8" 
grails.converters.encoding = "UTF-8" 

編輯:

我,直到這個bug臨時的解決方案是固定的:

$.parseJSON(decodeURIComponent(uglyUnicodeString))

+0

看來,''應該有一個選項輸出原始內容。你能用一個例子打開一個JIRA嗎? –

回答

1

我有同樣的問題。我的解決辦法是:

<g:javascript> 
    var foo = ${ bar.encodeAsJSON() }; 
    doSomeStuff(); 
</g:javascript>