使用json通过Ajax传递数组

时间:2012-09-01 05:38:58

标签: ajax json spring jsp jackson

我有一些通过Ajax动态生成的文本框。我正在使用Jackson 1.9.8来解析json。我可以使用jQuery检索这些动态文本框的值,如下所示。

var itemsArray=[];

$('input[name="txtChargeSize[]"]').each(function(){
    itemsArray[i][2]=$(this).val();                  
});

这可以逐个检索文本框数组txtChargeSize[]的每个元素。

itemsArray是一个已经存放的数组

weightId位置{/ 1}}的值,

itemsArray[i][0]位置{/ 1}}的值,

weight位置itemsArray[i][1]的值,该位​​置是上述代码中指定的文本框的值。


我需要将此数组传递给Spring控制器类,以将这些值插入Oracle数据库。我正在尝试以下方法。

charge

它不能像我期望的那样工作。我需要传递以下内容。

itemsArray[i][2]

以便可以将其解析为var i=0; $('input[name="txtChargeSize[]"]').each(function(){ itemsArray[i][2]=$(this).val(); objectArray[i]=[["weightId",itemsArray[i][0]], ["weight",itemsArray[i][1]], ["charge",itemsArray[i][2]]]; i++; }); 。我没有准确的Javascript知识来实现​​这一目标。如何使用json以这种方式将[["weightId", 1], ["weight", 12.4], ["charge", 15.5]] 保存的值传递给Spring控制器?

1 个答案:

答案 0 :(得分:1)

var i=0;
$('input[name="txtChargeSize[]"]').each(function(){
    itemsArray[i][2]=$(this).val();        
    i++;          
});

尝试像这样的javascript构造函数方法。

for(var i = 0; i < itemsArray.length; i++) {
   objectArray[i]= new createObj(itemsArray[i][0], itemsArray[i][1], itemsArray[i][2]);                  
}

,构造函数是

function createObj(weightID, weight, charge) {
   this.weightId = weightID;
   this.weight = weight;
   this.charge = charge;
}

最后如果你想要json字符串,那么使用这个

var str = JSON.stringify(objectArray);
alert(str);