最佳答案
因此根据jQuery Ajax文档,它在发送请求时以查询字符串的形式序列化数据,但设置processData:false
应该允许我在正文中发送实际的JSON。不幸的是,我很难确定第一,如果这正在发生,第二,对象看起来是什么,被发送到服务器。我只知道服务器没有解析我发送的内容。
当使用http客户端发布对象字面量{someKey:'someData'}
时,它是有效的。但是当jQuery与data: {someKey:'someData'}
一起使用时,它会失败。不幸的是,当我在Safari中分析请求时,它说消息有效载荷是[object Object]
…伟大的……在Firefox中,这篇文章是空白的…
当在Java端记录主体内容时,它字面上得到[object Object]
,所以如何发送真实JSON数据??
有人有使用Java服务在请求体中序列化JSON数据的经验吗?
顺便说一下,这是全额。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'
});