因此,根据jQuery Ajax文档,它在发送请求时以查询字符串的形式序列化数据,但是设置processData:false
应允许我在正文中发送实际的JSON。不幸的是,我很难先确定是否发生这种情况,然后才确定要发送给服务器的对象的外观。我所知道的是服务器未解析我正在发送的内容。
使用http客户端发布对象文字时{someKey:'someData'}
,它可以工作。但是,当使用带有的jQuery时data: {someKey:'someData'}
,它将失败。不幸的是,当我在Safari中分析请求时,它说消息的有效负载是[object Object]
……很好……而在Firefox中,该帖子是空白的……
当在Java端记录主体内容时,它实际上得到了,[object Object]
因此如何发送REAL 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'
});
JSON.stringify()
吗?