大家好,请问如何获取我在javascript中创建的对象数组并发送给spring controller。
$(table).find('tr').each(function(index) {
$this = $(this)
var value = $this.find("span.value").html();
var quantity = $this.find("input.quantity").val();
var lots = $this.find(".lots").val(), produits = $this
.find(".produits").val(), fournisseurs = $this
.find(".fournisseurs").val(), ref = $this
.find(".ref").html(), unite = $this
.find(".unite").val(), prix = $this
.find(".prix").html(), qte = $this
.find(".qte").val(), total = $this
.find(".total").text();
var ligne = new Object();
ligne.lot = lots;
ligne.produit = produits;
ligne.fournissuer = fournisseurs;
ligne.unite = unite;
ligne.prix = prix;
ligne.total = total;
ligne.ref = ref;
ligne.qte = qte;
tableau.push(ligne)
});
这是我的Ajax请求
$.ajax({
traditional : true,
async : false,
url : '/save/',
contentType : "application/json",
type : "POST",
data : JSON.stringify(tableau),
success : function(data) {
console.log("okk ");
},
error : function(jqXHR, textStatus, errorThrown) {
console.log('erreur');
}
和Spring Controller。
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@RequestBody ArrayList<ChiffrageLigne> tableau) {
log.info("liste des donnees = "+tableau.size());
for (ChiffrageLigne chiffrageLigne : tableau) {
System.out.println("ref fournisseur"+chiffrageLigne.getRefFour()+"prix ="+chiffrageLigne.getPrix());
}
return "ok";
}
所以我怎么能在sping mvc controller中得到这个数组。谢谢
答案 0 :(得分:0)
您可以在不使用ModelAttribute的情况下从Ajax而不是List<Object>
获取List<ChiffrageLigne>
。
$.ajax({
traditional : true,
async : false,
url : '/save/',
contentType : "application/json",
type : "POST",
dataType : "json",
data : {tableau:JSON.stringify(tableau)},
success : function(data) {
console.log("okk ");
},
error : function(jqXHR, textStatus, errorThrown) {
console.log('erreur');
}
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@RequestParam(value="tableau",required=true) List<Object> tableauList) {
//write code here converting List<object> to ArrayList<ChiffrageLigne>
}