He creado una matriz JS como esta var detailsArr = new Array();
y envío algunos datos a esta matriz.Cómo enviar js array en Ajax
Ahora empujo esta matriz a través de Ajax a mi controlador de primavera como esta
$.ajax({
type: "POST",
url: "submit",
data: ({detailsArr : detailsArr }),
success: function(html){
alert("Submitted");
}
});
En el lado del controlador de primavera, recibo esta matriz a través de la @RequestBody
anotación. La firma del método controlador de primavera se ve así
public String submit(@RequestBody String body)
Pero la matriz cuando se recibe en el lado del controlador primavera es básicamente una cadena de este formato
detailsArr[]=add&detailsArr[]=test1&detailsArr[]=test2&detailsArr[]=test3
he dividir manualmente esta cadena para obtener los valores , este es un proceso engorroso. ¿Hay alguna forma en que pueda obtener la matriz tal como es, de modo que solo tenga que iterar sobre ella para obtener los valores?
Por favor, añada la firma del método de su controlador de la primavera (con anotaciones) y un volcado de 'detailsArr' (' console.log' se o algo así) –
La firma de mi controlador Spring se ve así 'public String submit (@RequestBody String body)' y el volcado de los detallesArr es así 'detailsArr [] = add & detailsArr [] = test1 & detailsArr [] = test2 y detailsArr [] = test3' – Vivek
después de leer el cuerpo de la solicitud, debe obtener una cadena formateada en json, y luego debe escribir o usar un JsonUtil y convertir su cadena json en clase (matriz o lo que desee, en qué formato) – erimerturk