Grails从javascript中启动控制器的远程功能

时间:2014-06-09 17:24:30

标签: javascript grails

我的GSP上有这个按钮

<button id = "select"
            onclick = "${remoteFunction(controller: 'customer', action: 'selectBatch',
                            params: '\'batchID=\' + selectedBatchID')}">Select</button>

我也在同一个按钮上有这个javascript函数:

$('#select').click(function () {
    if (selectedBatchID == undefined) {
        $("#errorMessages p").text("Click a row to choose a batch first.");
        $("#errorMessages p").show();
        $("#errorMessages p").fadeOut(3000);
    }
    else {
        $("#choosebatch h2").text("Batch ID " + selectedBatchID + ": " + selectedBatchDesc);
    }

我想要做的是将按钮在GSP代码中声明的onclick函数移动到javascript函数的else子句中,这样控制器函数不会一直启动,只有当执行javascript else子句。我似乎无法找出正确的语法。任何帮助/提示赞赏。

2 个答案:

答案 0 :(得分:1)

我猜你可以在else块中使用AJAX。这样的事情:

$.ajax({
    url: '/PROJECT_NAME/customer/selectBatch',
    type: 'GET',
    data: 'batchID=' + XXX,
    success: function(data) {
        console.log(data);
        XXX
    }
});

答案 1 :(得分:1)

与之前的答案类似的是你可以试试这个:

$.ajax({
               type: 'POST',
               url: "${createLink(action:'customer', controller:'selectBatch')}/batchID=" + selectedBatchID
        });