2016-07-03 2 views
0

Я пропускание GSTRING в качестве параметра к функции яваскрипта, как показано:Переходя GSTRING к функции яваскрипта в Grails

<div class="btn btn-small" id="helpful" onClick="helpful(${value})">Helpful</div> 

Здесь значение приходит от контроллера, который является динамическим. У меня есть функция javascript как:

function helpful(answer){ 
     $.post("${createLink(controller: "reviews", action: "dataFromReviews")}", 
       { 
        helpful:true, 
        answer:answer 
       } 
     ); 
    } 

Но я не получаю никакого ответа. При проверке ошибки нет. Не можем ли мы передать gstring в javascript? Пожалуйста помоги.

ответ

0

Как выглядит сгенерированный HTML? Я думаю, что у вас есть ошибка javascript, потому что вы не цитируете экстраполированную строку, которую используете в качестве параметра для «полезной» функции. Это должно сработать:

<div class="btn btn-small" id="helpful" onClick="helpful('${value}')">Helpful</div> 
+0

Thankyou очень @helgew. Это была глупая ошибка. Мне неловко спрашивать об этом – Prakash

1

Как предлагает @helgew, проверьте выход. Также обратите внимание, что grails> 2.3 будет кодировать HTML-код любым переданным с помощью GString, если вы не отключили это (grails.views.default.code = 'none'). Вам нужно будет использовать необработанный кодек, чтобы избежать кодирования. Следует использовать с осторожностью:

<div class="btn btn-small" id="helpful" onClick="helpful('${raw(value)}')">Helpful</div> 
Смежные вопросы