好吧,我这几个小时都在摆弄这个并且感到沮丧。 我想用ajax构建一个应用程序表单。我传递了一个带有巨大嵌套数组的关联数组:
[
"foo": x,
"bar": y,
// ...
]
Here是x or y
看起来像的一个例子(它太大了,无法在此处发布)。它基本上只是一个嵌套数组的对象:
{
lastModified: 1243245656
some: x
other: y
keys: z
feed: [ ... ]
items: [ ... ]
// ...
}
所以我的关联数组added_toons
会这样:
[
"foo": {
lastModified: 1243245656
some: x
other: y
keys: z
feed: [ ... ]
items: [ ... ]
// ...
},
"bar": {
lastModified: 1243245656
some: x
other: y
keys: z
feed: [ ... ]
items: [ ... ]
// ...
},
// ..
]
问题出在这里:当我在用ajax传递它之前评估我的数组时,一切都很好。一旦我在我的php后端收到它,每个toon
内都会丢失数组。例如items
和feed
我真的不知道发生了什么。
所以我要求一些帮助来解决这个问题。 AFAIK它不应该成为逃避的问题,因为jQuery已经为我做了这个。
我的JS代码
console.info(added_toons); // everything is fine here
$.ajax({
url: '...',
type: 'post',
data: {
'action': 'submit',
// ...
'toons': added_toons
},
success: function (data, status) {
// ...
},
error: function (xhr, desc, err) {
// ..
}
});
我的PHP代码
<?php
if ($_POST['action'] == 'submit') {
// when I here evaluate $_POST it contains `toons`
// but each `toon` is missing keys
}
答案 0 :(得分:1)
尝试这种方式为JSON.stringify
added_toons
data: {
'action': 'submit',
//stringify is important to send array of objects
'toons': JSON.stringify(added_toons)
},
请参阅JSON.stringify()
此处https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify