Entonces, de acuerdo con los documentos de jQuery Ajax , serializa datos en forma de una cadena de consulta al enviar solicitudes, pero la configuración processData:false
debería permitirme enviar JSON real en el cuerpo. Desafortunadamente, estoy teniendo dificultades para determinar primero, si esto está sucediendo y, en segundo lugar, cómo se ve el objeto que se está enviando al servidor. Todo lo que sé es que el servidor no analiza lo que estoy enviando.
Cuando se usa el cliente http para publicar un objeto literal {someKey:'someData'}
, funciona. Pero cuando se usa jQuery con data: {someKey:'someData'}
, falla. Desafortunadamente cuando analizo la solicitud en Safari, dice que la carga útil del mensaje es [object Object]
... genial ... y en Firefox la publicación está en blanco ...
Al registrar el contenido del cuerpo en el lado de Java, literalmente se obtiene, [object Object]
¿cómo se envían datos de REAL JSON?
¿Alguien ha tenido experiencia con un servicio Java que serializa datos JSON en el cuerpo de la solicitud, con la solicitud enviada desde jQuery?
Por cierto, aquí está la solicitud completa de $ .ajax:
$.ajax({
contentType: 'application/json',
data: {
"command": "on"
},
dataType: 'json',
success: function(data){
app.log("device control succeeded");
},
error: function(){
app.log("Device control failed");
},
processData: false,
type: 'POST',
url: '/devices/{device_id}/control'
});
JSON.stringify()
?