我正在使用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