【发布时间】:2011-05-08 18:21:23
【问题描述】:
所以根据jQuery Ajax docs,它在发送请求时以查询字符串的形式序列化数据,但是设置processData:false应该允许我在正文中发送实际的JSON。不幸的是,我很难首先确定是否发生这种情况,然后第二次确定正在发送到服务器的对象是什么样子。我只知道服务器没有解析我发送的内容。
当使用http client 发布对象文字{someKey:'someData'} 时,它可以工作。但是当使用带有data: {someKey:'someData'} 的jQuery 时,它会失败。不幸的是,当我在 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'
});
【问题讨论】:
标签: jquery ajax json xmlhttprequest