Я делаю запрос ajax через сообщение, которое содержит переменные форм.jQuery .serialize() для сообщения?
данные для запроса 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
)
)
что близко, но это требует от меня либо
: с петлей над массивом и преобразовать его в то, что я хочу
б: каждый раз, когда я использую его петлю над ним, чтобы найти правильный ключ
потому что, с другой стороны при выполнении print_r ($ _ POST ['form']) Я возвращаю то, что должно быть как строка get. хотя я мог бы взорвать это на стороне сервера, я бы предпочел не делать этого. – Hailwood
- ваши дополнительные переменные, вычисленные через js или обслуживаемые со страницей? – Emmett
со страницей (да, я знаю, что всегда могу установить их как скрытые входы, однако форма создается через ajax и отличается в зависимости от обстоятельств) – Hailwood