/ / Pasando la matriz de objetos de JavaScript al controlador mvc de spring - jquery, ajax, json, spring-mvc

Pasar una matriz de objetos desde JavaScript al controlador mvc de primavera: jquery, ajax, json, spring-mvc

Soy nuevo en JavaScript y jQuery. Estoy creando dinámicamente objetos de filas donde se hace clic en la casilla de verificación en mi jsp de esta manera:

 var objects={};
var i=0;
$(document).on("click", "input[type="checkbox"]", function() {
var bar1 = $(this).closest("tr").find(".bar").val();
var dda1 = $(this).closest("tr").find(".dda").text();
objects[i] = {data:dda1,bar:bar1};
i++;
$("#bar").val(JSON.stringify(objects));
});

y en primer lugar estaba configurando un tipo de entrada oculta como esta ...

  $("#bar").val(JSON.stringify(objects));

Pude leerlo usando el tipo oculto usando el siguiente controlador ...

@RequestMapping(value="/applypage",method= RequestMethod.POST)

public String ListRequest(@RequestParam("bar") String object )
{
System.out.println(object);
return "applypage";
}

lo que me da la siguiente cadena ...

{"0":{"data":"Data3","bar":"N"},"1":{"data":"Data1","bar":"Y"},"2":{"data":"Data4","bar":"N"},"3":{"data":"Data6","bar":"N"}}

Pero después de una búsqueda en google y refiriéndome a muchos tutoriales encontré que tengo que usar ajax y luego probé este código ...

var data={"objects":JSON.stringify(objects)};
$.ajax({
type: "post",
url: "applypage", //your valid url
headers : {
"Accept" : "application/json",
"Content-Type" : "application/json"
},
data: data,
success: function(result) {
alert("success");
},
error: function(e){
alert("failure");
}
});

Pero no puedo leer este valor a través de ajax ...

¿Alguien puede ayudarme en esto y necesito el código para escribir el controlador también para leer los valores JSON?

Respuestas

0 para la respuesta № 1

Añadir dataType: "json", en tu codigo ajax

$.ajax({
type: "post",
url: "applypage", //your valid url
headers : {
"Accept" : "application/json",
"Content-Type" : "application/json"
},
data: data,
dataType: "json"
success: function(result) {
alert("success");
},
error: function(e){
alert("failure");
}
});