У меня возникли проблемы с отправкой сообщения JQuery на мой сервер. Я сузил проблему вплоть до поля данных не правильно установлен в моей JavaScript, что приводит к исключению:JQuery ajax/post-setting JSON в поле данных вызывает JsonMappingException
org.codehaus.jackson.map.JsonMappingException: Невозможно десериализации экземпляра com.myserver. rest.messages.dto.NewMessageDTO из START_ARRAY лексем
код, который работает , но не очень чистый:
$.ajax({
type: "POST",
url: "../resources/messages/",
data: '{"subject": "' + subject +
'", "message": "' + message +
'", "messageType": "' + type +
'", "employeeIDs": [' + employeeIDs +
'], "assignmentIDs": [' + assignmentIDs +']}',
contentType: "application/json",
success: successHandler,
error: defaultErrorHandler
});
Который оказывает:
{ "субъект": "тест", "сообщение": "тест", "MessageType": "MESSAGE", "employeeIDs": [461,485], "assignmentIDs": [103 ]}
код, который не работает, но чище:
$.ajax({
type: "POST",
url: "../resources/messages/",
data: {'subject': subject, 'message': message, 'messageType': type, 'employeeIDs[]': employeeIDs, 'assignmentIDs[]': assignmentIDs},
contentType: "application/json",
success: successHandler,
error: defaultErrorHandler
});
который делает, как применение/х-WWW-форм-urlencoded по какой-то причине:
Заголовок = тест & сообщение = тест & MessageType = MESSAGE & employeeIDs% 5B% 5D = 461 & employeeIDs% 5B% 5D = 485 & assignmentIDs% 5B% 5D = 103
Любые идеи, что я делаю Неправильно здесь? Заранее благодарим за любую помощь
вот-вот должен был ответить почти с тем же самым решением. Это намного чище. –
Пит - Использование JSON.stringify сработало! Это гораздо более чистый подход, чем создание строки JSON. Спасибо за помощь –
Мне пришлось удалить [] идентификаторы employeeID и идентификаторы присвоения в data var. IntelliJ давал мне «ожидаемое выражение». –