我的GSP或模板上的代码会在Chrome开发工具javascript控制台中显示控制器发送的变量:
<script>
console.log("${recordToEdit.redIssues}"); // I see a list with elements in the console
</script>
我知道它有效,因为我看到了这个:
[No address provided., No telephone number provided., No accounts found.]
但有没有办法在控制台上以交互方式查看?我尝试了以下命令但无法使其工作:
console.log("${recordToEdit.redIssues}")
${recordToEdit.redIssues} VM1892:2
undefined
console.log(${recordToEdit.redIssues})
SyntaxError: Unexpected token {
console.log${recordToEdit.redIssues}
SyntaxError: Unexpected token {
答案 0 :(得分:0)
没有办法以你现在尝试做事的方式互动地看待它。它在使用<script></script>
标记嵌入GSP或模板时有效,因为"${recordToEdit.redIssues}"
表达式是GString,它在服务器端进行评估。呈现GSP页面时,recordToEdit.redIssues
将转换为包含其值的字符串。
JavaScript控制台不了解您运行的服务器端代码,只知道它收到的静态HTML内容。话虽这么说,你仍然可以完成你正在寻找的功能(在某种程度上)。
您可以通过将值设置为您正在使用的GSP或模板上的全局JavaScript变量来访问相同的服务器端变量:
<script>
window.redIssues = "${recordToEdit.redIssues}";
</script>
然后,在Chrome DevTools控制台中,只需键入redIssues
并按Enter即可访问该值。请注意,该值不是动态的,只会显示呈现页面时原始recordToEdit.redIssues
值。