jQuery отправляет действительный json в тело запроса

Итак, согласно jQuery Ajax docs , он сериализует данные в форме строки запроса при отправке запросов, но установка processData: false должна позволить мне отправлять актуальный JSON в теле. К сожалению, мне трудно сначала определить, происходит ли это, а во-вторых, как выглядит объект, который отправляется на сервер. Все, что я знаю, это то, что сервер не разбирает то, что я отправляю.

При использовании http-клиента для публикации литерала объекта {someKey: 'someData'} это работает. Но при использовании jQuery с данными : {someKey: 'someData'} происходит сбой. К сожалению, когда я анализирую запрос в Safari, он говорит, что полезная нагрузка сообщения [object Object] ... отлично ... а в Firefox сообщение пустое ...

При регистрации содержимого тела на стороне Java он буквально получает [объект 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'
});

162
задан Adam Zerner 15 July 2017 в 20:32
поделиться