javascript - 将参数传递给 View ——从 Grails 到 Javascript

标签 javascript grails

我从我的 Controller 向 View 传递一个参数。

当我从 Body 打印参数时,它会被正确打印。但是,如果我尝试从 Javascript 函数打印参数,则它不起作用。

我该如何纠正这个问题?

Controller

def showpeople(Long id){
        def pInstance = People.get(id)
        render (view: "showpeople",model: [pInstance: pInstance])

    }

查看

<script>
$(document).ready(function(){ 
var str = ${pInstance.stringval}; // <--- DOESN'T WORK  
alert (str); // <--- DOESN'T SHOW ALERT  

)}
</script>

<body>
${pInstance.stringval} <--- PRINTS SUCCESSFULLy 
</body>

最佳答案

您的警报未显示的原因是您将该值输出为常量而不是 javascript 中的有效字符串。您确实需要将其用引号引起来,并且还应该对字符串值进行编码以便与 javascript 一起使用。

例如:

var str = '${pInstance.stringval?.encodeAsJavaScript()}';
alert(str);

关于javascript - 将参数传递给 View ——从 Grails 到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241815/

相关文章:

grails - 无法将用于反向URL映射的变量传递给remoteFunction

grails - 使用Grails Controller 进行模板导航

javascript - 从文本中获取两个特定字符序列之间的子字符串

javascript - 如何从编辑器外部获取编辑器中选定的文本?

javascript - 无法检索动态创建的文本区域 jquery 的文本

grails - 带有Grails Spring 安全性的Tivoli Access Manager

grails - Grails-如何通过gsp中的<g:set>获取特定输入的值

javascript - 使用 passport.js、sails.js 和 sails 生成身份验证保护页面

javascript - 设置 subview Controller emberjs

hibernate - HQL:基于属性值的最大/极限结果