我遇到問題,將JQuery發送到我的服務器。我已經縮小的問題降到未正確設置在我的JavaScript,從而導致異常的數據字段:JQuery ajax/post - 在數據字段中設置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」:[461485], 「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
});
這是渲染爲application/X WWW的形式,進行了urlencoded因爲某些原因:
主題=測試&消息=測試&爲messageType = MESSAGE & employeeIDs%5B%5D = 461 & employeeIDs%5B%5D = 485 & assignmentIDs%5B%5D = 103
任何想法,我在做什麼這裏錯了嗎?在此先感謝您的幫助
正準備接近完全相同的解決方案。這更清潔。 – 2012-02-01 21:57:26
皮特 - 使用JSON.stringify工作!這比自己構建JSON字符串更清潔。感謝您的幫助 – 2012-02-01 22:08:25
我確實必須刪除數據var中employeeIDs和assignmentID的[]。 IntelliJ給了我一個'表達期望'的錯誤。 – 2012-02-01 22:15:14