我正在使用dojo增強型網格,標記爲「myGrid」的變量是指網格。序列化javascript數組
function addtocart() {
$("#additem").click(function(){
var myGrid = dojo.byId(dataGrid);
var ids = [];
var gridRow = myGrid.selection.getSelected();
$.each(gridRow, function(i, l){
ids.push(l.id);
});
var registcarturl = "${carturl}" + $("#regCart :selected").val();
$.get(registcarturl, {instanceIds: ids}, function(data) {
alert(data);
});
});
}
我不知道對於一個序列化數組的字符串應該是什麼樣子,我可以動態地構建任何字符串。我試圖使用jQuery的get方法如圖所示的例子
$.get("test.cgi", { name: "John", time: "2pm" }, function(data){ alert("Data Loaded: " + data); });
我修改的功能如下
function addtocart() {
$("#additem").click(function(){
var myGrid = dojo.byId(dataGrid);
var ids = "[";
var gridRow = myGrid.selection.getSelected();
$.each(gridRow, function(i, l){
ids = ids + "\"" +l.id +"\"";
if(i != (gridRow.length -1)){
ids = ids + ",";
};
});
ids = ids + "]";
alert(ids);
var registcarturl = "${carturl}" + $("#regCart :selected").val();
$.get(registcarturl, {instanceIds: ids}, function(data) {
alert(data);
});
});
}
當我的數據獲取到我的Java控制器,它試圖解析[「219 「作爲一個long,當然還有一個NumberFormatException結果。 JavaScript變量IDS看起來像這樣[ 「219」, 「217」, 「218」, 「195」]
是否有人可以提供一些指導。
嘗試在陣列中去除周圍的號碼引號@RequestParam財產。 Java在期待數字時發送字符串。 – 2012-02-10 19:10:43