¿Cómo enviar la matriz de parámetros de solicitud a servlet usando jQuery $ .ajax?

Me gustaría enviar matriz de JavaScript a servlet usando jQuery $.ajax .

 var json=[1,2,3,4]; $.ajax({ url:"myUrl", type:"POST", dataType:'json', success:function(data){ // codes.... }, data:json }); 

Cuando uso

 request.getParameter("json"); request.getParameterValues("json"); 

Devuelve nulo.

¿Cómo puedo acceder a los valores?

Envíe array como valor de objeto JS para que termine como {json:[1,2,3,4]} .

 var json=[1,2,3,4]; $.ajax({ url:"myUrl", type:"POST", dataType:'json', data: {json:json}, success:function(data){ // codes.... }, }); 

En servlet, debe agregar un sufijo al nombre del parámetro de solicitud con [] .

 String[] myJsonData = request.getParameterValues("json[]"); 

jQuery los agrega para ser amigable con los lenguajes débiles typescripts como PHP.

Tienes que convertir tu matriz a un tipo JSON, así que en lugar de [] necesita leer

  var array = [ 1, 2, 3, 4 ]; 

para hacer esto necesitas llamar

  var json = JSON.stringify(array) 

entonces puedes pasarlo a tu llamada ajax

  $.ajax({ url:"myUrl", type:"POST", data: json, dataType:'json', success:function(data){ // codes.... }}) 

Necesita publicar su objeto de datos javascript de esta manera ..

http://api.jquery.com/jQuery.post/

 $.post("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); });