将Javascript变量传递给createlink方法调用Grails

时间:2012-06-14 16:41:16

标签: javascript variables grails parameter-passing

var search= document.getElementById('appMenu').value 
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch',   params: ['query': search])}'

元素appMenu是一个文本字段,因此我获取用户在文本框中输入的值以传递到搜索控制器。但是,它一直告诉我params查询为null。似乎搜索没有传递到创建链接方法。有人有建议吗?

1 个答案:

答案 0 :(得分:13)

Grails(控制器,GSP和标签等)正在服务器端工作。客户端的JavaScript。此链接是在将数据发送到浏览器之前准备的,之后JavaScript可以将其变量传递给GSP标记。

但是你可以在服务器端准备基本链接,并在客户端添加额外的参数,使用javascript,如:

var search= document.getElementById('appMenu').value;
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch')}?query=' + escape(search);