Таким образом, согласно jQuery Ajax docs , при отправке запросов он сериализует данные в виде строки запроса, но установка processData:false
должна позволить мне отправлять фактический JSON в теле.К сожалению, мне трудно сначала определить, происходит ли это, а во-вторых, как выглядит объект, который отправляется на сервер.Все, что я знаю, это то, что сервер не анализирует то, что я отправляю.
При использовании http client для публикации литерала объекта {someKey:'someData'}
, это работает.Но при использовании jQuery с data: {someKey:'someData'}
происходит сбой.К сожалению, когда я анализирую запрос в Safari, он говорит, что полезная нагрузка сообщения [object Object]
... great ... и в Firefox сообщение пустое ...
При регистрации содержимого тела на стороне Javaон буквально получает [object Object]
так как же отправлять РЕАЛЬНЫЕ данные JSON ??
Кто-нибудь имел опыт работы с сервисом Java, сериализующим данные JSON в теле запроса, с запросом, отправленным из jQuery?
Кстати, вот полный запрос $ .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'
});