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

dan*_*ger 7 javascript variables grails parameter-passing

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

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

Igo*_*nov 13

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

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

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