2014-10-07 3 views
1

Из моего контроллера я передаю параметр в представление.Передача параметров в представление - от Grails до Javascript

Когда я печатаю параметр из тела, он печатается правильно. Однако, если я пытаюсь напечатать параметр из функции 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

'вар ул =«$ {pInstance.stringval}»;' Если это строка вам нужно обернуть его в кавычки некоторого рода или JavaScript будет подавиться. –

ответ

2

Причина, почему ваше предупреждение не показывать это вы вывод, что значение как константу вместо действительного строки в JavaScript. Вам действительно нужно обернуть его в кавычки, и вы также должны закодировать строковое значение для использования с javascript.

Например:

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

Да, это сработало. Благодарю. Я скоро приму ваш ответ. – Illep

Смежные вопросы