Я использую jQuery post для публикации значений флажков в другом файле, я знаю, что страница работает и логика верна, потому что, когда я не использую jQuery post, страница работает нормально, проблема в том, что она, похоже, портит массиви поэтому заставляет его работать некорректно
Мое поле radio
использует следующие поля формы:
<input type="checkbox" name="radio[]" value="<? print $id; ?>">
Которое при публикации на следующей странице обрабатывается
if ($_POST['radio']){
foreach($_POST['radio'] as $val) {
Это то, что публикуется, когда я получаю как обычную форму отправки, используя print_r($_POST);
Array (
[radio] => Array (
[0] => 13
[1] => 12
)
[ros] => sell
[submit] => submit
)
Это работает нормально, проблема в том, что это не работает в jQuery AJAX, поэтому я могу обрабатывать данные безКогда я отправляю форму с помощью jQuery AJAX, мне нужно обновить данные, которые выглядят так:
Array (
[ros] => sell
[submit] => submit
[radio] => radio %5B %5D=15&radio%5B%5D=14&ros=sell
)
Это мой пост-скрипт jQuery AJAX:
function submitgarage() {
var submit = $("input[name=submit]").val();
var ros = $("#ros option:selected").val();
var radio = $("#garageform").serialize();
$.post("ajax/vehicles/garage.php", { ros: ros, submit: submit, radio: radio },
function(data) {
$('#results').html(data);
});
}
Как вы можете видетьдобавляет %5B
%5D
и т. д., я попытался использовать utf8_decode
, вызвал ошибку сервера 500, попытался использовать urldecode
, который, как я подозревал, не сработает, и я был прав, я просто не могу показатьсячтобы отправить его так же, как раньше.
Я проверил другие темы по переполнению стека для того же рода вещей и, похоже, не смог найти решение.