因此,根据jQuery Ajax docs,它在发送请求时以查询字符串的形式序列化数据,但是设置processData:false
应该允许我在主体中发送实际的JSON。不幸的是,首先我很难确定是否发生了这种情况,第二种情况是对象看起来像什么正在被发送到服务器。我只知道服务器没有解析我发送的内容。
当使用http client发布对象文字{someKey:'someData'}
时,它可以工作。但是,当在data: {someKey:'someData'}
中使用jQuery时,它会失败。不幸的是,当我在Safari中分析请求时,它告诉我消息有效负载是[object Object]
……很好..。而在Firefox中,帖子是空白的。
当在Java端记录正文内容时,它从字面上获得[object Object]
,那么如何发送真正的JSON数据呢?
有没有人有过使用jQuery发送的请求在请求体中序列化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'
});
https://stackoverflow.com/questions/4159701
复制相似问题