gpt4 book ai didi

javascript - 将 JSON 发送到 GSP 上的 javascript

转载 作者:可可西里 更新时间:2023-11-01 01:30:18 25 4
gpt4 key购买 nike

我使用的是 Grails 2.3.7,我有一个如下所示的 Controller 操作:

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({&quot;name&quot;:&quot;Sales&quot;,&quot;type&quot;:&quot;bar&quot;,&quot;data&quot;:[5,20,45,10,10,20]});

看起来 JSON 乱七八糟。我认为它曾经以这种方式工作。也许是新的 Grails?我怎样才能解决这个问题?谢谢。

更新:问题解决了。请参阅已接受答案中的评论。

更新 2:我今天检查应用程序时,它又失败了。我用“原始”方法做了文档要求的操作,但没有成功。解决方法是使用“每页编码”。我彻底测试了这个。它确实有效。

最佳答案

问题在于 JSON 被编码为 HTML。请尝试以下操作:

Controller

def testData() {
def result = [:]
result['name'] = "Sales"
result['type'] = "bar"
result['data'] = [5, 20, 45, 10, 10, 20]
[data: result as JSON]
}

普惠制

<script>
var data = ${raw(data)};
</script>

你不需要$(document).ready因为JS代码

var data = ${raw(data)};

在服务器端生成

关于javascript - 将 JSON 发送到 GSP 上的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com