Quindi, secondo i documenti jQuery Ajax , serializza i dati sotto forma di una stringa di query durante l'invio di richieste, ma l'impostazione processData:false
dovrebbe consentirmi di inviare JSON effettivo nel corpo. Sfortunatamente non riesco a determinare prima se ciò sta accadendo e in secondo luogo come appare l'oggetto che viene inviato al server. Tutto quello che so è che il server non sta analizzando ciò che sto inviando.
Quando si utilizza il client http per pubblicare un oggetto letterale {someKey:'someData'}
, funziona. Ma quando si utilizza jQuery con data: {someKey:'someData'}
, non riesce. Sfortunatamente quando analizzo la richiesta in Safari, dice che il payload del messaggio è [object Object]
... fantastico ... e in Firefox il post è vuoto ...
Quando si registra il contenuto del corpo sul lato Java, diventa letteralmente [object Object]
così come si inviano i dati REAL JSON ??
Qualcuno ha avuto esperienza con un servizio Java che serializza i dati JSON nel corpo della richiesta, con la richiesta inviata da jQuery?
A proposito ecco la richiesta $ .ajax completa:
$.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()
?