【发布时间】:2014-06-08 19:02:32
【问题描述】:
我正在使用 Grails 2.3.7,并且我有一个控制器操作如下:
def testData(){
def result = [:]
result['name'] = "Sales"
result['type'] = "bar"
result['data'] = [5, 20, 45, 10, 10, 20]
[data: result as JSON]
}
在 testData.gsp 中,我想在 javascript 中获取 JSON 对象:
<script>
$(document).ready(function(){
var data = JSON.parse(${data});
})
</script>
然后我遇到了一个异常:
Uncaught SyntaxError: Unexpected token {
上线:
var data = JSON.parse({"name":"Sales","type":"bar","data":[5,20,45,10,10,20]});
看起来 JSON 搞砸了。我认为它曾经以这种方式工作。也许它是新的Grails?我怎样才能解决这个问题?谢谢。
更新: 问题解决了。请参阅已接受答案中的 cmets。
更新 2: 当我今天检查应用程序时,它又失败了。我使用“原始”方法完成了文档所需的操作,但没有运气。一种解决方法是使用“每页编码”。这是我彻底测试过的。它确实有效。
【问题讨论】:
-
@dmahapatro 我都试过了。我得到了新的异常:Uncaught SyntaxError: Unexpected token &
-
您可以使用
g:set设置变量,${data} 会为您提供 JSON 字符串。您希望在脚本块中使用它的任何原因。 -
@dmahapatro 我需要将 json 发送到 javascript 以呈现一些数据。
标签: javascript json grails