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

Posted

技术标签:

【中文标题】将 Javascript 变量传递到 createlink 方法调用 Grails【英文标题】:Pass Javascript Variable into createlink method call Grails 【发布时间】:2012-06-17 18:03:59 【问题描述】:
var search= document.getElementById('appMenu').value 
document.location.href= '$createLink(controller: 'application' , action:'ajaxAppSearch',   params: ['query': search])'

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于将 Javascript 变量传递到 createlink 方法调用 Grails的主要内容,如果未能解决你的问题,请参考以下文章

如何将变量和数据从 PHP 传递到 JavaScript?

将Javascript变量传递到文本框[重复]

将变量从 PHP 传递到 javascript 并传递到 html 表单

将变量从 JSP 传递到 Javascript

将变量从VB函数传递到客户端javascript

如何将变量从外部 JavaScript 传递到 HTML 表单