2014-03-13 54 views
0

我沒有使用GSP文件,而我的params.data上的空值沒有回到我的申請JSON。我的問題是關於grails或javascript?沒有GSP的Grails處理複選框

的JavaScript

var data = $('input:checkbox[name=grid-checkbox]:checked').map(function() { return $(this).val(); }).toArray(); 
$.ajax({ 
    type: "GET", 
    data: data, 
    crossdomain: true, 
    url: "http://..../food", 
    success: success, 
    error: fail 
}); 

Grails的

def food() { 
    def result = [] 
    def checkbox = params.data 
    def b 
    println params.data //null 
    checkbox.each { 
     b = Food.findAllById(checkbox.it).collect { Food food -> 
      result << [id: food.id, 
        foodType: food.foodType 
      ] 
     } 
    } 
    return formatAndRender("JSON", params.callback, result) 
} 
+0

看起來是與你的jQuery的問題。在你的ajax調用中嘗試data {data:data}。 –

+0

當我的互聯網啓動時我會盡快檢查 – fsi

+0

請小心,我有一個小錯字,它應該是數據:{data:data} –

回答

0

你的數據是零,因爲沒有關鍵數據在PARAMS地圖存在。

data: data應該是一個有效的鍵值對像

data: "data=" + data 
+0

我會盡快檢查當我的互聯網啓動時,我的網絡已經啓動了 – fsi

+0

它給了我(已檢查)'2,3,4'但params.data仍然爲空 – fsi

+0

它遍歷所有內容,甚至是''''。有比我更好的解決方案if(it!=「,」)...'? – fsi