Я делаю ajax-запрос через сообщение, которое содержит переменные формы.
данные для запроса ajax выглядят как
data : {
somevar1: 'someval1',
somevar2: 'someval2',
somevar3: 'someval3',
somevar4: 'someval4',
form: FORMDATA
}
Как вы можете видеть, а также основные данные формы, которые я также передаю через некоторые другие данные.
это означает, что я не могу использовать jquery .serialize()
Я хочу закончить с чем-то, что я могу отправить, так что с другой стороны, я могу просто сделать
$_POST['form']['fieldname']
есть ли встроенная функция, делающая это?
или что мне нужно сделать, чтобы создать его?
возможность запуска функции в форме, которая делает что-то вроде
function postArray(form){
var data = {};
var name, value = null;
$(form).children('textarea, input, select'){
name = this.name;
data.name = $(this).val();
}
return data;
}
над формой может работать.
и имеющий
data : {
somevar1: 'someval1',
somevar2: 'someval2',
somevar3: 'someval3',
somevar4: 'someval4',
form: postArray(form)
}
это будет работать?
<ч />
Я мог бы использовать .serializeArray();
Но с другой стороны я получаю
Array
(
[0] => Array
(
[name] => name1
[value] => val1
),
[1] => Array
(
[name] => name2
[value] => val2
)
...
[8] => Array
(
[name] => name8
[value] => val8
)
)
Что близко, но это требует от меня либо
a: зациклить массив и преобразовать его в то, что я хочу
b: каждый раз, когда я использую его, обведите его, чтобы найти правильный ключ