将参数传递到View-从Grails到Javascript

Passing parameters to the View - From Grails to Javascript

本文关键字:Grails Javascript View- 参数传递      更新时间:2023-09-26

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

当我从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>

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

例如:

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