将参数传递给视图 - 从Grails到Javascript

时间:2014-10-07 17:32:52

标签: javascript grails

从我的控制器我将一个参数传递给视图。

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

我该如何纠正?

控制器

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>

1 个答案:

答案 0 :(得分:2)

您的警报未显示的原因是您将该值作为常量输出,而不是在javascript中输出有效的字符串。你真的需要将它包装在引号中,你还应该编码字符串值以便与javascript一起使用。

例如:

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