我試圖傳遞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
是。我忘了它是單片的。 –