如何通过POST请求发送嵌套对象?
var name = "test",
path = "?diffCurr%5B%5D=FALSE&diffProv%5B%5D=FALSE",
data = {
datatype:"report",
"value":{
"name":name,
"query":path
}
};
$.ajax({
type:"POST",
url: "resources/savedata.html",
data: data,
success: function(data){
...
},
complete: function(){
...
}
})
当我签入Chrome时,在"表格数据"下的网络标签中,我看到了:
datatype:report
value[name]:test
value[query]:?diffCurr%5B%5D=FALSE&diffProv%5B%5D=FALSE
基本上,我希望$_POST["value"]
包含name
和query
的对象。
答案 0 :(得分:1)
基本上,我希望$ _POST [" value"]包含一个带有名称和查询的对象。
确实如此。
您只是查看使用PHP的方括号语法在application/x-www-form-urlencoded
中编码的原始数据,用于复杂对象。
当PHP反序列化它以填充$_POST
时,它将以您期望的形式执行此操作。
答案 1 :(得分:1)
最简单的方法之一是在Json字符串中序列化您的嵌套对象
$.ajax({
type:"POST",
url: "resources/savedata.html",
data: JSON.stringify(data),
success: function(data){
...
},
complete: function(){
...
}