Ладно, я часами цепляюсь за это и расстраиваюсь. Я хочу создать форму приложения с помощью ajax. Я прохожу ассоциативный массив с огромными массивами вложенных в него:jQuery's .jax потеряет данные?
[
"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
}
Что происходит, когда вы используете JSOn.stringify? – Legends