将Javascript变量传递给grails RemoteFunction

时间:2012-06-14 21:00:58

标签: javascript dom grails parameters

  

可能重复:
  pass parameter in g:remoteLink as result of javascript function

我正在尝试调用一个onclick为按钮触发的remoteFunction调用,但是click不会调用该函数。我已经使用警报启动测试了onlick命令并调用了该函数。这是我的代码。

<input type="button" onclick="exportList()" value= "Export"/>

function exportList(){

            var profile= document.getElementById('dropdown').value
            ${remoteFunction(controller: 'profile' , action:'export', params: "'profile=' + profile")}  


}

当我取出参数和var配置文件时,该函数仍未被调用...我的控制器和操作被正确命名,所以我不知道为什么我有这个错误。如果您能提供帮助,请提前致谢!

2 个答案:

答案 0 :(得分:3)

JoeCortopassi是正确的 - 你不能直接在javascript中使用${remoteFunction...}的grails结构。我这样使用Jquery完成了这个:

function exportList() {
    var profileToUse = document.getElementById('dropdown').value
    jQuery.ajax({
        url: "/youApp/profile/export",
        type: "POST",
        data: {profile: profileToUse}
    });
}

答案 1 :(得分:2)

我不知道应该做什么,但看起来很糟糕

${remoteFunction(controller: 'profile' , action:'export', params: "'profile=' + profile")} 
你确定要说var{remoteFunction()}吗?原因$只是一个变量。如果你正在使用jQuery,那就更没意义了。此外,您传递的内容remoteFunction()看起来应该是对象,但不包含在{}