簡體   English   中英

從GSP到控制器的Grails參數為空

[英]Grails params from GSP to controller are null

我有這個按鈕:

<button id = "select"
            onclick = "<g:remoteFunction controller='customer' action='selectBatch'/>"
            params: '\'batchID=\' + selectedBatchID'>Select</button>

確實在我的控制器中調用此方法:

def selectBatch = {
    println "Batch Selected: " + params.batchID
}

但是輸出如下:

Batch Selected: null

這是相關的javascript,它生成並准備要在params中傳遞的變量:

var table = document.getElementById('batchTble'),
rows = table.getElementsByTagName('tr');
var selectedBatchID;

for (var i=0,len=rows.length; i<len; i++){
rows[i].onclick = function(){
    console.log(this.cells[0].innerHTML);
    selectedBatchID = parseInt(this.cells[0].innerHTML);
    console.log(selectedBatchID)
    /* if you know it's going to be numeric:
    console.log(parseInt(this.innerHTML),10);
    */
}

我確實確認javascript變量“ selectedBatchID”確實會打印到控制台,因此確實包含一個值。 但是,該值永遠不會由於某種原因而成為控制器獲取的參數。 這是Chrome調試控制台在控制器抱怨null的同時給我的:

17 VM3216:53
POST http://ec2-54-209-146-139.compute-1.amazonaws.com:8080/FatcaOne_0/customer/selectBatch 404 (Not Found) jquery.tools.min.js:38
send jquery.tools.min.js:38
onclick

您會看到在Chrome調試控制台中打印了值“ 17”,但從未將其作為params.batchID放入控制器中。 為什么我的參數為null卻找不到404,這是我不理解的? 任何幫助表示贊賞。 我很樂意根據要求提供更多詳細信息。

onclick看起來不正確。 有關詳細信息,請參閱文檔 基於此,它應該類似於:

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

我想您已經混合了問題中顯示的taglib和方法調用語法(參數的鍵值用法與操作和控制器的屬性)。 而且,問題中params完全不是remoteFunction一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM