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

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

4

1 回答 1

14

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

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

var search= document.getElementById('appMenu').value;
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch')}?query=' + escape(search);
于 2012-06-14T16:48:59.970 回答