我试图传递JSON数据到GSP页面并显示表格。在GSP页面传递JSON
预期JSON:
{
"data": [
[
"Tiger Nixon",
"System Architect",
"Edinburgh"
]
]}
我试图用使它:
def resp = [data:["System", "One", "Test"]]
[resp: resp]
,并显示:
<g:javascript>
$(document).ready(function() {
$('#example').DataTable({
"ajax": "${raw(resp)}"
}); });
</g:javascript>
,反而会导致页面的源代码是:
$(document).ready(function() {
$('#example').DataTable({
"ajax": "\u007bdata=\u005bSystem\u002c One\u002c Test\u005d\u007d"
});
如何正确传递它?
UPD1:
当我传递一个字符串它的工作原理:
查看:
<g:javascript>
var str = '${raw(resp)}';
var json = JSON.parse(str);
$(document).ready(function() {
$('#example').DataTable({
data: json
});
});
</g:javascript>
控制器:
def resp = '[[ \"Tiger Nixon\", \"System Architect\", \"Edinburgh\"]]'
respond resp, model:[resp: resp]
网页源代码:
<script type="text/javascript">
var str = '[[ "Tiger Nixon", "System Architect", "Edinburgh"]]';
var json = JSON.parse(str);
$(document).ready(function() {
$('#example').DataTable({
data: json
});
});
但是,当我试图通过
def resp = [["Tiger Nixon", "System Architect", "Edinburgh"]]
它会产生一个错误
你的意思[resp:resp as JSON]?因为只有“resp as JSON”返回空白页面而不是我的视图 – ziftech
是。我忘了它是单片的。 –