@lolka02

Почему удаляется квадратная скобка в пост запросе?

если в запросе имеется data[Post[name]]:name
то в отладке $_posts мы видим
Array
(
    [data] => Array
        (
           [Post[name]=> name
....

почему удаляется вторая скобка? и как избегать этого чтобы было [Post[name]]

код
var data = {};
formData.forEach(function(value, key) {
 switch (key) {
                case 'Post[name]':
                case 'Post[category_id]':  {
                    data[key] = value;
                } break;
            }

});

дальше в аякс передаю data
$.ajax({
...
type: 'POST',
data: {data: data},
....
});


devtools
5f3fc8648ce4c868948705.jpeg
5f3fc86b04862437170016.jpeg
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
В вашем случае, данные на сервер отправляются не так как должно быть, нужна пара: ключ/значение, тоесть для отправки на сервер будет такой формат: name=ключ, value=значение

var data = [];
formData.forEach(function(value, key) {
	switch (key) {
		case 'Post[name]':
		case 'Post[category_id]':  {
			data.push({"name": key, "value": value});
		} break;
	}
});
console.log(data);
/*
[Object {
  name: "Post[name]", value: "bla bla"
}, Object {
  name: "Post[category_id]", value: "12"
}]
*/


P/S: только зачем так усложнять, если можно записать проще:
var data = $('селектор_формы').find('input[name="Post[name]"], input[name="Post[category_id]"]').serializeArray();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
Походу, в запросе отправляется data["Post[name"], то есть вопрос к тому, как формируется запрос.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы