var search= document.getElementById('appMenu').value
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch', params: ['query': search])}'
元素appMenu是一个文本字段,因此我获取用户在文本框中输入的值以传递到搜索控制器。但是,它一直告诉我params查询为null。似乎搜索没有传递到创建链接方法。有人有建议吗?
答案 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);