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 № 1Añ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");
}
});