Я пытаюсь отправить данные (входной текст, выпадающий список и т. Д.) И файлы в файл PHP через Ajax. Я использую эту функцию для добавления дополнительного параметра с именем Действие . Действие может быть одним из этих текстов: «добавить», «редактировать», «прочитать» и «удалить» (необязательные параметры). Смотрите скрипт ниже:
function recordActions(action_name, id) {
//id = (typeof id == "undefined") ? '' : id;
var frm = document.getElementById(action_name + '_form');
var form_data = new FormData();
form_data.append('action', action_name);
form_data.append('fd', frm);
$.ajax({
type: 'post',
dataType: 'json',
url: '<?php echo FILENAME_USERS_ACTIONS; ?>',
data: form_data,
cache: false,
processData: false,
contentType: false,
success:
if (data.action == 'add' || data.action == 'edit') {
$("#" + action_name + '_form')[0].reset();
$("#" + action_name + '_div').slideUp();
}
showWeekAgenda();
}
});
// esta línea evita que la página se refresque dando a Cancelar la visita y evita que salga Error en Success de Arriba
if (action_name == 'cancel') return false;
}
Когда Ajax вызывает файл PHP (), я не знаю, как получить доступ к данным, содержащимся в FormData.
Увидев Params в Web Developer, я понял:
-----------------------------81668061412059330971865480216
Content-Disposition: form-data; name="action"
actadd
-----------------------------81668061412059330971865480216
Content-Disposition: form-data; name="fd"
[object HTMLFormElement]
-----------------------------81668061412059330971865480216--
Затем я поместил код в PHP, чтобы увидеть параметры и их значения:
print_r($_POST);
print_r($_FILES);
echo '<br>Post: ' . $_POST['fd'];
но мне нечем помочь.
Array
(
[action] => actadd
[fd] => [object HTMLFormElement]
)
Array
(
)
<br>Post: [object HTMLFormElement]
Кто-нибудь знает, как получить доступ к любому значению внутри fd ? У fd должны быть значения моих вводимых текстов, выпадающего меню, текстовой области и т. д.
После ответа на этот вопрос: Выгрузка данных и файлов в одной форме с использованием Ajax? мы можем поместить все HTML-элементы управления в одну форму FormData.
Заранее спасибо!