从我的控制器我将一个参数传递给视图。
当我从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>
答案 0 :(得分:2)
您的警报未显示的原因是您将该值作为常量输出,而不是在javascript中输出有效的字符串。你真的需要将它包装在引号中,你还应该编码字符串值以便与javascript一起使用。
例如:
var str = '${pInstance.stringval?.encodeAsJavaScript()}';
alert(str);