私は Dojo 拡張グリッドを使用しており、「myGrid」とマークされた変数はグリッドを参照しています。
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 変数IDは次のようになります["219","217","218","195"]
誰かがガイダンスを提供してもらえますか。