我从我的 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/